Esc
Start typing to search...

Code Coverage

Test coverage report for keel-core, generated with cargo-tarpaulin.

82.6%Overall Coverage
21360Lines Covered
25870Total Lines
194Files

File Coverage

FileCoverage%Lines
//home/knut/Dokumente/Programming/keel/keel-lsp/src/dispatch.rs
Low coverage: 0.0%0/9
src/bin/keel.rs
Low coverage: 0.0%0/12
src/compiler/compile/compile_ast_node.rs
High coverage: 95.5%21/22
src/compiler/compile/compile_binary.rs
High coverage: 95.5%147/154
src/compiler/compile/compile_decl.rs
Medium coverage: 76.8%285/371
src/compiler/compile/compile_expr.rs
High coverage: 86.7%425/490
src/compiler/compile/compile_stmt.rs
Low coverage: 49.1%108/220
src/compiler/compile/patterns/case_expr.rs
High coverage: 95.8%68/71
src/compiler/compile/patterns/pattern_bindings.rs
Medium coverage: 65.1%179/275
src/compiler/compile/patterns/pattern_match.rs
High coverage: 94.5%223/236
src/compiler/compiler.rs
High coverage: 90.9%50/55
src/compiler/errors.rs
Low coverage: 0.0%0/36
src/compiler/exhaustiveness.rs
Medium coverage: 62.7%185/295
src/compiler/or_pattern_validation.rs
Medium coverage: 62.7%42/67
src/compiler/pattern_utils.rs
High coverage: 92.9%13/14
src/compiler/register.rs
Low coverage: 20.0%2/10
src/compiler/scope.rs
Low coverage: 53.9%152/282
src/compiler/string_interner.rs
High coverage: 100.0%11/11
src/compiler/type_inference.rs
Medium coverage: 61.5%407/662
src/compiler/type_validation.rs
Low coverage: 13.2%15/114
src/compiler/types.rs
High coverage: 80.8%84/104
src/errors.rs
Low coverage: 31.1%33/106
src/keel-lsp/src/main.rs
Low coverage: 0.0%0/37
src/lexer/error.rs
High coverage: 80.6%25/31
src/lexer/lexer.rs
High coverage: 96.8%304/314
src/lexer/token.rs
Low coverage: 12.2%9/74
src/lexer/token_spans.rs
Low coverage: 24.4%22/90
src/parser/errors.rs
Low coverage: 54.8%86/157
src/parser/indentation.rs
Medium coverage: 72.2%26/36
src/parser/parse_ast_node/parse_ast_node_block.rs
Medium coverage: 74.9%131/175
src/parser/parse_ast_node/parse_ast_node_comment.rs
High coverage: 94.2%49/52
src/parser/parse_ast_node/parse_ast_node_expr.rs
High coverage: 82.6%275/333
src/parser/parse_decl/mod.rs
High coverage: 85.7%6/7
src/parser/parse_decl/parse_enums.rs
High coverage: 87.9%160/182
src/parser/parse_decl/parse_import.rs
High coverage: 82.2%74/90
src/parser/parse_decl/parse_modules.rs
High coverage: 83.2%227/273
src/parser/parse_decl/parse_type_alias.rs
High coverage: 81.1%43/53
src/parser/parse_decl/parse_types.rs
High coverage: 100.0%47/47
src/parser/parse_expr/parse_case.rs
High coverage: 85.1%57/67
src/parser/parse_expr/parse_enum_expr.rs
Medium coverage: 62.9%66/105
src/parser/parse_expr/parse_function.rs
High coverage: 86.5%109/126
src/parser/parse_expr/parse_function_call.rs
Medium coverage: 74.2%132/178
src/parser/parse_expr/parse_idents.rs
High coverage: 84.6%11/13
src/parser/parse_expr/parse_if_else.rs
High coverage: 96.3%26/27
src/parser/parse_expr/parse_lambdas.rs
High coverage: 87.5%35/40
src/parser/parse_expr/parse_list_access.rs
High coverage: 94.4%17/18
src/parser/parse_expr/parse_lists.rs
High coverage: 86.1%31/36
src/parser/parse_expr/parse_literals.rs
Medium coverage: 66.0%31/47
src/parser/parse_expr/parse_maybe.rs
High coverage: 100.0%13/13
src/parser/parse_expr/parse_module_access.rs
Medium coverage: 73.3%11/15
src/parser/parse_expr/parse_patterns.rs
High coverage: 94.5%154/163
src/parser/parse_expr/parse_pipes.rs
Low coverage: 0.0%0/54
src/parser/parse_expr/parse_record_access.rs
High coverage: 93.3%28/30
src/parser/parse_expr/parse_record_update.rs
High coverage: 100.0%24/24
src/parser/parse_expr/parse_records.rs
Medium coverage: 72.4%42/58
src/parser/parse_expr/parse_result.rs
High coverage: 100.0%22/22
src/parser/parse_expr/parse_token.rs
High coverage: 100.0%2/2
src/parser/parse_expr/parse_tuple_access.rs
Medium coverage: 79.2%19/24
src/parser/parse_expr/parse_tuples.rs
High coverage: 91.7%22/24
src/parser/parse_expr/parse_var.rs
High coverage: 95.1%58/61
src/parser/parse_stmt/mod.rs
Medium coverage: 66.7%2/3
src/parser/parse_stmt/parse_let.rs
High coverage: 90.5%57/63
src/parser/parser.rs
High coverage: 94.5%52/55
src/parser/scope.rs
Medium coverage: 74.3%197/265
src/parser/span.rs
Medium coverage: 60.0%3/5
src/parser/symbol.rs
High coverage: 84.0%42/50
src/parser/symbol_arena.rs
Medium coverage: 69.6%32/46
src/repl.rs
Low coverage: 0.0%0/16
src/stdlib/io.rs
Medium coverage: 65.2%405/621
src/stdlib/list.rs
Medium coverage: 74.8%484/647
src/stdlib/math.rs
Medium coverage: 73.3%404/551
src/stdlib/mod.rs
Low coverage: 44.8%26/58
src/stdlib/string.rs
Medium coverage: 79.0%391/495
src/time_machine/compiler_snapshot.rs
Low coverage: 0.0%0/10
src/time_machine/integration.rs
Low coverage: 45.1%41/91
src/time_machine/lexer_snapshot.rs
Medium coverage: 69.2%9/13
src/time_machine/mapping.rs
Low coverage: 51.3%20/39
src/time_machine/mod.rs
Low coverage: 55.3%42/76
src/time_machine/navigation.rs
Low coverage: 36.8%50/136
src/time_machine/parser_snapshot.rs
Low coverage: 31.2%5/16
src/time_machine/timeline.rs
Low coverage: 25.0%6/24
src/time_machine/vm_snapshot.rs
Low coverage: 0.0%0/10
src/utils/error_hints.rs
Low coverage: 0.0%0/4
src/utils/fuzzy_match.rs
High coverage: 96.1%49/51
src/utils/indentation.rs
High coverage: 100.0%3/3
src/utils/macros.rs
Low coverage: 0.0%0/1
src/utils/parse_failure.rs
Low coverage: 0.0%0/29
src/utils/tracing.rs
Low coverage: 0.0%0/18
src/vm/errors.rs
High coverage: 85.5%71/83
src/vm/handlers/vm_arithmetic.rs
Medium coverage: 62.3%96/154
src/vm/handlers/vm_comparison.rs
Low coverage: 55.9%62/111
src/vm/handlers/vm_control_flow.rs
Medium coverage: 78.2%158/202
src/vm/handlers/vm_data_structures.rs
Low coverage: 55.6%120/216
src/vm/handlers/vm_memory.rs
Medium coverage: 71.0%22/31
src/vm/values/output.rs
Low coverage: 58.4%129/221
src/vm/values/register.rs
Low coverage: 55.0%44/80
src/vm/vm.rs
Medium coverage: 71.3%77/108
src/vm/vm_core.rs
Medium coverage: 74.8%122/163
tests/closure_output.rs
High coverage: 100.0%112/112
tests/common/helpers.rs
Low coverage: 31.4%11/35
tests/common/macros.rs
High coverage: 100.0%41/41
tests/debug_test.rs
High coverage: 100.0%23/23
tests/errors/branch_type_check.rs
High coverage: 82.6%114/138
tests/errors/error_display.rs
High coverage: 99.0%102/103
tests/errors/error_handling.rs
High coverage: 80.4%90/112
tests/errors/function_overloading.rs
High coverage: 100.0%118/118
tests/errors/import_errors.rs
Medium coverage: 64.8%175/270
tests/errors/pattern_type_check.rs
High coverage: 100.0%118/118
tests/errors/symbol_errors.rs
High coverage: 92.2%200/217
tests/errors/type_alias_vs_enum_error.rs
High coverage: 89.7%26/29
tests/errors/type_checking.rs
High coverage: 96.6%255/264
tests/errors/type_completeness.rs
High coverage: 100.0%72/72
tests/errors/type_inference.rs
High coverage: 89.7%174/194
tests/features/arithmetic.rs
High coverage: 100.0%120/120
tests/features/comments.rs
High coverage: 100.0%12/12
tests/features/conditionals.rs
High coverage: 100.0%5/5
tests/features/enums.rs
High coverage: 96.3%52/54
tests/features/functions.rs
High coverage: 100.0%20/20
tests/features/imports.rs
High coverage: 100.0%7/7
tests/features/lambdas.rs
High coverage: 93.3%28/30
tests/features/let_bindings.rs
High coverage: 100.0%32/32
tests/features/lists.rs
High coverage: 100.0%11/11
tests/features/literals.rs
High coverage: 100.0%20/20
tests/features/maybe_result.rs
High coverage: 100.0%10/10
tests/features/modules.rs
High coverage: 100.0%3/3
tests/features/pattern_matching.rs
High coverage: 100.0%35/35
tests/features/pipes.rs
High coverage: 100.0%15/15
tests/features/records.rs
High coverage: 96.8%30/31
tests/features/tuples.rs
High coverage: 100.0%16/16
tests/infrastructure/compiler_edge_cases.rs
High coverage: 97.6%290/297
tests/infrastructure/gc.rs
High coverage: 98.0%148/151
tests/infrastructure/register_value.rs
High coverage: 100.0%120/120
tests/infrastructure/vm_operations.rs
High coverage: 98.0%345/352
tests/lexer/lexer.rs
High coverage: 100.0%272/272
tests/lexer/lexer_conditionals.rs
High coverage: 100.0%38/38
tests/lexer/lexer_doc_comments.rs
High coverage: 100.0%98/98
tests/lexer/lexer_edge_cases.rs
High coverage: 99.7%286/287
tests/lexer/lexer_errors.rs
High coverage: 100.0%15/15
tests/lexer/lexer_escape_sequences.rs
High coverage: 100.0%79/79
tests/lexer/lexer_function_application.rs
High coverage: 100.0%182/182
tests/lexer/lexer_function_composition.rs
High coverage: 100.0%87/87
tests/lexer/lexer_indentation.rs
High coverage: 100.0%194/194
tests/lexer/lexer_let_bindings.rs
High coverage: 100.0%22/22
tests/lexer/lexer_named_function.rs
High coverage: 100.0%53/53
tests/lexer/lexer_pattern_matching.rs
High coverage: 100.0%20/20
tests/mod.rs
High coverage: 100.0%1/1
tests/parser/decl_comments.rs
High coverage: 100.0%20/20
tests/parser/decl_enums.rs
High coverage: 93.4%239/256
tests/parser/decl_import.rs
High coverage: 92.5%99/107
tests/parser/decl_modules.rs
High coverage: 91.6%261/285
tests/parser/decl_type_alias.rs
High coverage: 94.5%121/128
tests/parser/enum_scope_errors.rs
High coverage: 94.6%53/56
tests/parser/error_hints.rs
High coverage: 94.7%803/848
tests/parser/expr_arithmetic.rs
High coverage: 88.5%23/26
tests/parser/expr_block.rs
High coverage: 84.6%33/39
tests/parser/expr_case.rs
High coverage: 90.1%355/394
tests/parser/expr_enum_simple_test.rs
High coverage: 91.6%230/251
tests/parser/expr_function.rs
High coverage: 87.8%575/655
tests/parser/expr_function_call.rs
High coverage: 85.8%278/324
tests/parser/expr_function_composition.rs
High coverage: 85.5%118/138
tests/parser/expr_if_else.rs
High coverage: 91.6%197/215
tests/parser/expr_lambda_application.rs
High coverage: 81.3%100/123
tests/parser/expr_lambdas.rs
High coverage: 88.1%384/436
tests/parser/expr_let.rs
High coverage: 87.8%396/451
tests/parser/expr_list_access.rs
High coverage: 87.5%28/32
tests/parser/expr_lists.rs
High coverage: 91.8%213/232
tests/parser/expr_literals.rs
High coverage: 99.0%99/100
tests/parser/expr_maybe.rs
High coverage: 93.4%85/91
tests/parser/expr_module_access.rs
High coverage: 89.0%81/91
tests/parser/expr_patterns.rs
High coverage: 91.9%384/418
tests/parser/expr_pipes.rs
High coverage: 92.7%114/123
tests/parser/expr_record_access.rs
High coverage: 89.3%67/75
tests/parser/expr_record_update.rs
High coverage: 84.6%115/136
tests/parser/expr_records.rs
High coverage: 87.2%334/383
tests/parser/expr_result.rs
High coverage: 91.1%72/79
tests/parser/expr_tuple_access.rs
High coverage: 87.1%27/31
tests/parser/expr_tuples.rs
High coverage: 91.7%176/192
tests/parser/expr_types.rs
High coverage: 98.1%104/106
tests/parser/expr_var.rs
High coverage: 88.2%90/102
tests/parser/parse_scopes.rs
High coverage: 95.1%483/508
tests/parser/parse_types.rs
High coverage: 90.9%630/693
tests/parser/parser_edge_cases.rs
High coverage: 96.5%327/339
tests/parser/parser_trailing_tokens.rs
High coverage: 87.4%111/127
tests/proptest/arithmetic_props.rs
High coverage: 100.0%48/48
tests/proptest/lexer_props.rs
High coverage: 100.0%5/5
tests/proptest/list_props.rs
High coverage: 100.0%40/40
tests/stdlib.rs
High coverage: 100.0%1/1
tests/stdlib/io.rs
Medium coverage: 79.1%258/326
tests/stdlib/list.rs
High coverage: 100.0%273/273
tests/stdlib/math.rs
High coverage: 100.0%180/180
tests/stdlib/native_type_inference.rs
High coverage: 100.0%59/59
tests/stdlib/shadowing.rs
High coverage: 95.8%69/72
tests/stdlib/string.rs
High coverage: 100.0%144/144
tests/time_machine.rs
High coverage: 98.0%96/98