Negative coverage: borrow_check_fn_ref / fn-ref / premise if binder.len() == args.len()
Premise at line 630. Observed failure causes: if_false.
fn-ref| Line | Coverage | Source |
|---|---|---|
| 629 | 1 | (let Fn { binder, .. } = env.crates().fn_named(id)?) |
| 630 | 2 | (if binder.len() == args.len()) |
| 631 | ✗ | (let FnBoundData { where_clauses, .. } = binder.instantiate_with(args)?) |
| 632 | 5 | (prove_where_clauses(env, assumptions, state, where_clauses) => state) |
| 633 | N/A | (let ty = Ty::rigid(RigidName::fn_def(id), args)) |
| ──────── ("fn-ref") | ||
| 635 | 43 | (borrow_check_fn_ref(env, assumptions, state, id, args) => (ty, state)) |
2 tests failed proving this premise:
Source location: tests/mir_typeck.rs:416 (all coverage from this test)
fn bar(v1: u32) -> u32 {
let v0: u32 = identity(v1);
return v0;
}
Failed proof tree
check_all_crates failedmod.rs:42args
rule "check all prefixes"mod.rs:54check_crate failedmod.rs:61args
rule "check crate"mod.rs:74check_crate_item failedmod.rs:179rule "free fn"mod.rs:207check_free_fn failedfns.rs:14args
rule "check free fn"fns.rs:24check_fn failedfns.rs:31args
rule "check fn"fns.rs:54check_fn_body failedfns.rs:61args
rule "expr fn body"fns.rs:89borrow_check failednll.rs:124args
rule "borrow_check"nll.rs:135borrow_check_block failednll.rs:142rule "basic block"nll.rs:157borrow_check_statement failednll.rs:174args
rule "let"nll.rs:189borrow_check_expr_has_ty failednll.rs:350args
rule "block"nll.rs:363borrow_check_expr failednll.rs:371args
rule "call"nll.rs:455borrow_check_expr failednll.rs:371args
rule "fn-name"nll.rs:559borrow_check_fn_ref failednll.rs:616args
rule "fn-ref"nll.rs:630 (failed: if_false)
Source location: tests/mir_typeck.rs:568 (all coverage from this test)
fn bar(v1: u32) -> u32 {
let v0: u32 = identity::<u32, u32>(v1);
return v0;
}
Failed proof tree
check_all_crates failedmod.rs:42args
rule "check all prefixes"mod.rs:54check_crate failedmod.rs:61args
rule "check crate"mod.rs:74check_crate_item failedmod.rs:179rule "free fn"mod.rs:207check_free_fn failedfns.rs:14args
rule "check free fn"fns.rs:24check_fn failedfns.rs:31args
rule "check fn"fns.rs:54check_fn_body failedfns.rs:61args
rule "expr fn body"fns.rs:89borrow_check failednll.rs:124args
rule "borrow_check"nll.rs:135borrow_check_block failednll.rs:142rule "basic block"nll.rs:157borrow_check_statement failednll.rs:174args
rule "let"nll.rs:189borrow_check_expr_has_ty failednll.rs:350args
rule "block"nll.rs:363borrow_check_expr failednll.rs:371args
rule "call"nll.rs:455borrow_check_expr failednll.rs:371args
rule "turbofish"nll.rs:566borrow_check_fn_ref failednll.rs:616args
rule "fn-ref"nll.rs:630 (failed: if_false)