Negative coverage: loan_not_required_by_parameter / alias-ty RFC 1214 / premise loan_not_required_by_parameters(env, assumptions, outlives, loan, parameters) => ()
Premise at line 1432. Observed failure causes: failed_judgment.
alias-ty RFC 1214| Line | Coverage | Source |
|---|---|---|
| 1432 | 18 | (loan_not_required_by_parameters(env, assumptions, outlives, loan, parameters) => ()) |
| ──────── ("alias-ty RFC 1214") | ||
| 1434 | 3 | (loan_not_required_by_parameter(env, assumptions, outlives, loan, AliasTy { name: _, parameters }) => ()) |
18 tests failed proving this premise:
Source location: tests/borrowck.rs:2232 (all coverage from this test)
fn foo() -> Datum {
exists<'r0, 'r1> {
let x: Datum = Datum { value: 0_u32 };
let r: &'r0 Datum = &'r1 x;
let y: Datum = x;
return *r;
}
}
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 "exists"nll.rs:302borrow_check_block failednll.rs:142args
rule "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 "place"nll.rs:547access_permitted failednll.rs:862args
rule "access_permitted"nll.rs:878access_permitted_by_loans failednll.rs:885rule "access_permitted_by_loans"nll.rs:898access_permitted_by_loan failednll.rs:905args
rule "loan is dead"nll.rs:967loan_not_required_by_live_places failednll.rs:1296args
rule "loan_not_required_by_live_places"nll.rs:1321loan_not_required_by_live_place failednll.rs:1328args
rule "loan is not required by type"nll.rs:1348loan_not_required_by_parameter failednll.rs:1396args
rule "alias-ty RFC 1214"nll.rs:1432loan_not_required_by_parameters failednll.rs:1533args
rule "loan_not_required_by_parameters"nll.rs:1554loan_not_required_by_parameter failednll.rs:1396args
rule "rigid-ty"nll.rs:1416loan_not_required_by_parameters failednll.rs:1533args
rule "loan_not_required_by_parameters"nll.rs:1554loan_not_required_by_parameter failednll.rs:1396args
rule "lifetime"nll.rs:1506loan_cannot_outlive failednll.rs:1513args
rule "loan_cannot_outlive"nll.rs:1526 (failed: if_false)
Source location: tests/borrowck.rs:2347 (all coverage from this test)
fn foo() -> i32 {
exists<'r0, 'r1> {
let v1: i32 = 0_i32;
let v2: &'r0 mut i32 = &'r1 mut v1;
// This should result in an error
v1 = 1_i32;
return *v2;
}
}
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 "exists"nll.rs:302borrow_check_block failednll.rs:142args
rule "basic block"nll.rs:157borrow_check_statement failednll.rs:174args
rule "expr"nll.rs:232borrow_check_expr failednll.rs:371args
rule "assign"nll.rs:416access_permitted failednll.rs:862args
rule "access_permitted"nll.rs:878access_permitted_by_loans failednll.rs:885rule "access_permitted_by_loans"nll.rs:898access_permitted_by_loan failednll.rs:905args
rule "loan is dead"nll.rs:967loan_not_required_by_live_places failednll.rs:1296args
rule "loan_not_required_by_live_places"nll.rs:1321loan_not_required_by_live_place failednll.rs:1328args
rule "loan is not required by type"nll.rs:1348loan_not_required_by_parameter failednll.rs:1396args
rule "alias-ty RFC 1214"nll.rs:1432loan_not_required_by_parameters failednll.rs:1533args
rule "loan_not_required_by_parameters"nll.rs:1554loan_not_required_by_parameter failednll.rs:1396args
rule "rigid-ty"nll.rs:1416loan_not_required_by_parameters failednll.rs:1533args
rule "loan_not_required_by_parameters"nll.rs:1554loan_not_required_by_parameter failednll.rs:1396args
rule "lifetime"nll.rs:1506loan_cannot_outlive failednll.rs:1513args
rule "loan_cannot_outlive"nll.rs:1526 (failed: if_false)
Source location: tests/borrowck.rs:2385 (all coverage from this test)
fn foo() -> i32 {
exists<'r0, 'r1> {
let v1: i32 = 0_i32;
let v2: &'r0 i32 = &'r1 v1;
v1 = 1_i32;
return *v2;
}
}
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 "exists"nll.rs:302borrow_check_block failednll.rs:142args
rule "basic block"nll.rs:157borrow_check_statement failednll.rs:174args
rule "expr"nll.rs:232borrow_check_expr failednll.rs:371args
rule "assign"nll.rs:416access_permitted failednll.rs:862args
rule "access_permitted"nll.rs:878access_permitted_by_loans failednll.rs:885rule "access_permitted_by_loans"nll.rs:898access_permitted_by_loan failednll.rs:905args
rule "loan is dead"nll.rs:967loan_not_required_by_live_places failednll.rs:1296args
rule "loan_not_required_by_live_places"nll.rs:1321loan_not_required_by_live_place failednll.rs:1328args
rule "loan is not required by type"nll.rs:1348loan_not_required_by_parameter failednll.rs:1396args
rule "alias-ty RFC 1214"nll.rs:1432loan_not_required_by_parameters failednll.rs:1533args
rule "loan_not_required_by_parameters"nll.rs:1554loan_not_required_by_parameter failednll.rs:1396args
rule "rigid-ty"nll.rs:1416loan_not_required_by_parameters failednll.rs:1533args
rule "loan_not_required_by_parameters"nll.rs:1554loan_not_required_by_parameter failednll.rs:1396args
rule "lifetime"nll.rs:1506loan_cannot_outlive failednll.rs:1513args
rule "loan_cannot_outlive"nll.rs:1526 (failed: if_false)
Source location: tests/borrowck.rs:2419 (all coverage from this test)
fn foo() -> i32 {
exists<'r> {
let v3: i32 = 0_i32;
let v4: &'r i32 = &'r v3;
}
exists<'r0, 'r1> {
let v1: i32 = 0_i32;
let v2: &'r0 i32 = &'r1 v1;
v1 = 1_i32;
return *v2;
}
}
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 "exists"nll.rs:302borrow_check_block failednll.rs:142args
rule "basic block"nll.rs:157borrow_check_statement failednll.rs:174args
rule "expr"nll.rs:232borrow_check_expr failednll.rs:371args
rule "assign"nll.rs:416access_permitted failednll.rs:862args
rule "access_permitted"nll.rs:878access_permitted_by_loans failednll.rs:885rule "access_permitted_by_loans"nll.rs:898access_permitted_by_loan failednll.rs:905args
rule "loan is dead"nll.rs:967loan_not_required_by_live_places failednll.rs:1296args
rule "loan_not_required_by_live_places"nll.rs:1321loan_not_required_by_live_place failednll.rs:1328args
rule "loan is not required by type"nll.rs:1348loan_not_required_by_parameter failednll.rs:1396args
rule "alias-ty RFC 1214"nll.rs:1432loan_not_required_by_parameters failednll.rs:1533args
rule "loan_not_required_by_parameters"nll.rs:1554loan_not_required_by_parameter failednll.rs:1396args
rule "rigid-ty"nll.rs:1416loan_not_required_by_parameters failednll.rs:1533args
rule "loan_not_required_by_parameters"nll.rs:1554loan_not_required_by_parameter failednll.rs:1396args
rule "lifetime"nll.rs:1506loan_cannot_outlive failednll.rs:1513args
rule "loan_cannot_outlive"nll.rs:1526 (failed: if_false)
Source location: tests/borrowck.rs:2531 (all coverage from this test)
fn foo() -> i32 {
exists<'r0, 'r1> {
let v2: &'r0 i32;
{
let v1: i32 = 0_i32;
v2 = &'r1 v1;
}
return *v2;
}
}
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 "exists"nll.rs:302borrow_check_block failednll.rs:142args
rule "basic block"nll.rs:157borrow_check_statement failednll.rs:174args
rule "block"nll.rs:292borrow_check_block failednll.rs:142args
rule "basic block"nll.rs:166drop_places failednll.rs:840args
rule "drop_places"nll.rs:854access_permitted_by_loans failednll.rs:885args
rule "access_permitted_by_loans"nll.rs:898access_permitted_by_loan failednll.rs:905args
rule "loan is dead"nll.rs:967loan_not_required_by_live_places failednll.rs:1296args
rule "loan_not_required_by_live_places"nll.rs:1321loan_not_required_by_live_place failednll.rs:1328args
rule "loan is not required by type"nll.rs:1348loan_not_required_by_parameter failednll.rs:1396args
rule "alias-ty RFC 1214"nll.rs:1432loan_not_required_by_parameters failednll.rs:1533args
rule "loan_not_required_by_parameters"nll.rs:1554loan_not_required_by_parameter failednll.rs:1396args
rule "rigid-ty"nll.rs:1416loan_not_required_by_parameters failednll.rs:1533args
rule "loan_not_required_by_parameters"nll.rs:1554loan_not_required_by_parameter failednll.rs:1396args
rule "lifetime"nll.rs:1506loan_cannot_outlive failednll.rs:1513args
rule "loan_cannot_outlive"nll.rs:1526 (failed: if_false)
Source location: tests/borrowck.rs:2603 (all coverage from this test)
fn foo() -> i32 {
exists<'r0, 'r1> {
let v2: &'r0 mut i32;
{
let v1: i32 = 0_i32;
v2 = &'r1 mut v1;
}
return *v2;
}
}
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 "exists"nll.rs:302borrow_check_block failednll.rs:142args
rule "basic block"nll.rs:157borrow_check_statement failednll.rs:174args
rule "block"nll.rs:292borrow_check_block failednll.rs:142args
rule "basic block"nll.rs:166drop_places failednll.rs:840args
rule "drop_places"nll.rs:854access_permitted_by_loans failednll.rs:885args
rule "access_permitted_by_loans"nll.rs:898access_permitted_by_loan failednll.rs:905args
rule "loan is dead"nll.rs:967loan_not_required_by_live_places failednll.rs:1296args
rule "loan_not_required_by_live_places"nll.rs:1321loan_not_required_by_live_place failednll.rs:1328args
rule "loan is not required by type"nll.rs:1348loan_not_required_by_parameter failednll.rs:1396args
rule "alias-ty RFC 1214"nll.rs:1432loan_not_required_by_parameters failednll.rs:1533args
rule "loan_not_required_by_parameters"nll.rs:1554loan_not_required_by_parameter failednll.rs:1396args
rule "rigid-ty"nll.rs:1416loan_not_required_by_parameters failednll.rs:1533args
rule "loan_not_required_by_parameters"nll.rs:1554loan_not_required_by_parameter failednll.rs:1396args
rule "lifetime"nll.rs:1506loan_cannot_outlive failednll.rs:1513args
rule "loan_cannot_outlive"nll.rs:1526 (failed: if_false)
Source location: tests/borrowck.rs:2645 (all coverage from this test)
fn foo() -> i32 {
exists<'r0, 'r1> {
let v2: &'r0 i32;
'a: {
let v1: i32 = 0_i32;
v2 = &'r1 v1;
break 'a;
}
return *v2;
}
}
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 "exists"nll.rs:302borrow_check_block failednll.rs:142args
rule "basic block"nll.rs:157borrow_check_statement failednll.rs:174args
rule "block"nll.rs:292borrow_check_block failednll.rs:142args
rule "basic block"nll.rs:157borrow_check_statement failednll.rs:174args
rule "break"nll.rs:260drop_places failednll.rs:840args
rule "drop_places"nll.rs:854access_permitted_by_loans failednll.rs:885args
rule "access_permitted_by_loans"nll.rs:898access_permitted_by_loan failednll.rs:905args
rule "loan is dead"nll.rs:967loan_not_required_by_live_places failednll.rs:1296args
rule "loan_not_required_by_live_places"nll.rs:1321loan_not_required_by_live_place failednll.rs:1328args
rule "loan is not required by type"nll.rs:1348loan_not_required_by_parameter failednll.rs:1396args
rule "alias-ty RFC 1214"nll.rs:1432loan_not_required_by_parameters failednll.rs:1533args
rule "loan_not_required_by_parameters"nll.rs:1554loan_not_required_by_parameter failednll.rs:1396args
rule "rigid-ty"nll.rs:1416loan_not_required_by_parameters failednll.rs:1533args
rule "loan_not_required_by_parameters"nll.rs:1554loan_not_required_by_parameter failednll.rs:1396args
rule "lifetime"nll.rs:1506loan_cannot_outlive failednll.rs:1513args
rule "loan_cannot_outlive"nll.rs:1526 (failed: if_false)
Source location: tests/borrowck.rs:3100 (all coverage from this test)
fn foo() -> i32 {
exists<'r0, 'r1> {
let r: &'r0 i32;
'a: loop {
let x: i32 = 0_i32;
r = &'r1 x;
break 'a;
}
return *r;
}
}
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 "exists"nll.rs:302borrow_check_block failednll.rs:142args
rule "basic block"nll.rs:157borrow_check_statement failednll.rs:174args
rule "loop"nll.rs:249borrow_check_loop failednll.rs:640args
rule "fixed-point"nll.rs:660borrow_check_block failednll.rs:142args
rule "basic block"nll.rs:157borrow_check_statement failednll.rs:174args
rule "break"nll.rs:260drop_places failednll.rs:840args
rule "drop_places"nll.rs:854access_permitted_by_loans failednll.rs:885args
rule "access_permitted_by_loans"nll.rs:898access_permitted_by_loan failednll.rs:905args
rule "loan is dead"nll.rs:967loan_not_required_by_live_places failednll.rs:1296args
rule "loan_not_required_by_live_places"nll.rs:1321loan_not_required_by_live_place failednll.rs:1328args
rule "loan is not required by type"nll.rs:1348loan_not_required_by_parameter failednll.rs:1396args
rule "alias-ty RFC 1214"nll.rs:1432loan_not_required_by_parameters failednll.rs:1533args
rule "loan_not_required_by_parameters"nll.rs:1554loan_not_required_by_parameter failednll.rs:1396args
rule "rigid-ty"nll.rs:1416loan_not_required_by_parameters failednll.rs:1533args
rule "loan_not_required_by_parameters"nll.rs:1554loan_not_required_by_parameter failednll.rs:1396args
rule "lifetime"nll.rs:1506loan_cannot_outlive failednll.rs:1513args
rule "loan_cannot_outlive"nll.rs:1526 (failed: if_false)
rule "loop"nll.rs:652borrow_check_block failednll.rs:142args
rule "basic block"nll.rs:157borrow_check_statement failednll.rs:174args
rule "break"nll.rs:260drop_places failednll.rs:840args
rule "drop_places"nll.rs:854access_permitted_by_loans failednll.rs:885args
rule "access_permitted_by_loans"nll.rs:898access_permitted_by_loan failednll.rs:905args
rule "loan is dead"nll.rs:967loan_not_required_by_live_places failednll.rs:1296args
rule "loan_not_required_by_live_places"nll.rs:1321loan_not_required_by_live_place failednll.rs:1328args
rule "loan is not required by type"nll.rs:1348loan_not_required_by_parameter failednll.rs:1396args
rule "alias-ty RFC 1214"nll.rs:1432loan_not_required_by_parameters failednll.rs:1533args
rule "loan_not_required_by_parameters"nll.rs:1554loan_not_required_by_parameter failednll.rs:1396args
rule "rigid-ty"nll.rs:1416loan_not_required_by_parameters failednll.rs:1533args
rule "loan_not_required_by_parameters"nll.rs:1554loan_not_required_by_parameter failednll.rs:1396args
rule "lifetime"nll.rs:1506loan_cannot_outlive failednll.rs:1513args
rule "loan_cannot_outlive"nll.rs:1526 (failed: if_false)
Source location: tests/borrowck.rs:3227 (all coverage from this test)
fn foo() -> u32 {
exists<'r0, 'r1> {
let a: u32 = 22_u32;
let p: &'r0 u32 = &'r1 a;
'l: loop {
if true {
a = 23_u32;
continue 'l;
} else {
break 'l;
}
}
return *p;
}
}
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 "exists"nll.rs:302borrow_check_block failednll.rs:142args
rule "basic block"nll.rs:157borrow_check_statement failednll.rs:174args
rule "loop"nll.rs:249borrow_check_loop failednll.rs:640args
rule "fixed-point"nll.rs:660borrow_check_block failednll.rs:142args
rule "basic block"nll.rs:157borrow_check_statement failednll.rs:174args
rule "if"nll.rs:222borrow_check_block failednll.rs:142args
rule "basic block"nll.rs:157borrow_check_statement failednll.rs:174args
rule "expr"nll.rs:232borrow_check_expr failednll.rs:371args
rule "assign"nll.rs:416access_permitted failednll.rs:862args
rule "access_permitted"nll.rs:878access_permitted_by_loans failednll.rs:885rule "access_permitted_by_loans"nll.rs:898access_permitted_by_loan failednll.rs:905args
rule "loan is dead"nll.rs:967loan_not_required_by_live_places failednll.rs:1296args
rule "loan_not_required_by_live_places"nll.rs:1321loan_not_required_by_live_place failednll.rs:1328args
rule "loan is not required by type"nll.rs:1348loan_not_required_by_parameter failednll.rs:1396args
rule "alias-ty RFC 1214"nll.rs:1432loan_not_required_by_parameters failednll.rs:1533args
rule "loan_not_required_by_parameters"nll.rs:1554loan_not_required_by_parameter failednll.rs:1396args
rule "rigid-ty"nll.rs:1416loan_not_required_by_parameters failednll.rs:1533args
rule "loan_not_required_by_parameters"nll.rs:1554loan_not_required_by_parameter failednll.rs:1396args
rule "lifetime"nll.rs:1506loan_cannot_outlive failednll.rs:1513args
rule "loan_cannot_outlive"nll.rs:1526 (failed: if_false)
rule "loop"nll.rs:652borrow_check_block failednll.rs:142args
rule "basic block"nll.rs:157borrow_check_statement failednll.rs:174args
rule "if"nll.rs:222borrow_check_block failednll.rs:142args
rule "basic block"nll.rs:157borrow_check_statement failednll.rs:174args
rule "expr"nll.rs:232borrow_check_expr failednll.rs:371args
rule "assign"nll.rs:416access_permitted failednll.rs:862args
rule "access_permitted"nll.rs:878access_permitted_by_loans failednll.rs:885rule "access_permitted_by_loans"nll.rs:898access_permitted_by_loan failednll.rs:905args
rule "loan is dead"nll.rs:967loan_not_required_by_live_places failednll.rs:1296args
rule "loan_not_required_by_live_places"nll.rs:1321loan_not_required_by_live_place failednll.rs:1328args
rule "loan is not required by type"nll.rs:1348loan_not_required_by_parameter failednll.rs:1396args
rule "alias-ty RFC 1214"nll.rs:1432loan_not_required_by_parameters failednll.rs:1533args
rule "loan_not_required_by_parameters"nll.rs:1554loan_not_required_by_parameter failednll.rs:1396args
rule "rigid-ty"nll.rs:1416loan_not_required_by_parameters failednll.rs:1533args
rule "loan_not_required_by_parameters"nll.rs:1554loan_not_required_by_parameter failednll.rs:1396args
rule "lifetime"nll.rs:1506loan_cannot_outlive failednll.rs:1513args
rule "loan_cannot_outlive"nll.rs:1526 (failed: if_false)
Source location: tests/borrowck.rs:3352 (all coverage from this test)
fn foo() -> u32 {
exists<'r0, 'r1, 'r2> {
let a: u32 = 22_u32;
let b: u32 = 22_u32;
let p: &'r0 u32 = &'r1 a;
a = 23_u32;
'l: loop {
p = &'r2 b;
break 'l;
}
return *p;
}
}
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 "exists"nll.rs:302borrow_check_block failednll.rs:142args
rule "basic block"nll.rs:157borrow_check_statement failednll.rs:174args
rule "expr"nll.rs:232borrow_check_expr failednll.rs:371args
rule "assign"nll.rs:416access_permitted failednll.rs:862args
rule "access_permitted"nll.rs:878access_permitted_by_loans failednll.rs:885rule "access_permitted_by_loans"nll.rs:898access_permitted_by_loan failednll.rs:905args
rule "loan is dead"nll.rs:967loan_not_required_by_live_places failednll.rs:1296args
rule "loan_not_required_by_live_places"nll.rs:1321loan_not_required_by_live_place failednll.rs:1328args
rule "loan is not required by type"nll.rs:1348loan_not_required_by_parameter failednll.rs:1396args
rule "alias-ty RFC 1214"nll.rs:1432loan_not_required_by_parameters failednll.rs:1533args
rule "loan_not_required_by_parameters"nll.rs:1554loan_not_required_by_parameter failednll.rs:1396args
rule "rigid-ty"nll.rs:1416loan_not_required_by_parameters failednll.rs:1533args
rule "loan_not_required_by_parameters"nll.rs:1554loan_not_required_by_parameter failednll.rs:1396args
rule "lifetime"nll.rs:1506loan_cannot_outlive failednll.rs:1513args
rule "loan_cannot_outlive"nll.rs:1526 (failed: if_false)
Source location: tests/borrowck.rs:3536 (all coverage from this test)
fn bar() -> u32 {
exists<'r0, 'r1, 'r2> {
let v: u32 = 0_u32;
let p: &'r0 u32 = &'r1 v;
let _: u32 = foo::<'r2>(&'r2 mut v);
return *p;
}
}
Proof trees omitted for the remaining 8 tests; each one is on its test’s page in Coverage by test.
Source location: tests/borrowck.rs:3584 (all coverage from this test)
fn foo() -> u32 {
exists<'r0, 'r1> {
let p: Point = Point { x: 0_u32, y: 0_u32 };
let b1: &'r0 mut u32 = &'r1 mut p.x;
p.x = 1_u32;
return *b1;
}
}
Source location: tests/borrowck.rs:3618 (all coverage from this test)
fn foo() -> u32 {
exists<'r0, 'r1> {
let v1: u32 = 22_u32;
let v2: &'r0 mut u32 = &'r1 mut v1;
let w: Wrapper = Wrapper { value: v1 };
return *v2;
}
}
Source location: tests/borrowck.rs:3658 (all coverage from this test)
fn foo() -> u32 {
exists<'r0> {
let v1: u32 = 0_u32;
let w: Wrapper<'r0> = Wrapper::<'r0> { value: &'r0 mut v1 };
v1 = 1_u32;
return *(w.value);
}
}
Source location: tests/borrowck.rs:5052 (all coverage from this test)
fn foo() -> () {
let x: u32 = 1_u32;
exists<'r0> {
let r: &'r0 u32 = &'r0 x;
x += 1_u32;
let y: u32 = *r;
}
}
Source location: tests/borrowck.rs:5149 (all coverage from this test)
fn foo() -> () {
let x: u32 = 1_u32;
exists<'a> {
let r: &'a mut u32 = &'a mut x;
x = x + *r;
}
}
Source location: tests/borrowck.rs:5201 (all coverage from this test)
fn foo() -> () {
let x: u32 = 1_u32;
exists<'a> {
let r: &'a mut u32 = &'a mut x;
x += *r;
let y: u32 = *r;
}
}
Source location: tests/borrowck.rs:5253 (all coverage from this test)
fn foo() -> () {
let x: u32 = 1_u32;
exists<'a> {
let r: &'a mut u32 = &'a mut x;
*r += x;
}
}