warning: not reporting region error due to nll --> $DIR/propagate-approximated-val.rs:50:9 | LL | demand_y(outlives1, outlives2, x.get()) //~ WARNING not reporting region error due to nll | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ note: External requirements --> $DIR/propagate-approximated-val.rs:46:45 | LL | establish_relationships(cell_a, cell_b, |outlives1, outlives2, x, y| { | _____________________________________________^ LL | | //~^ ERROR lifetime mismatch LL | | LL | | // Only works if 'x: 'y: LL | | demand_y(outlives1, outlives2, x.get()) //~ WARNING not reporting region error due to nll LL | | }); | |_____^ | = note: defining type: DefId(0/1:18 ~ propagate_approximated_val[317d]::test[0]::{{closure}}[0]) with closure substs [ i16, for<'r, 's> extern "rust-call" fn((std::cell::Cell<&'_#1r &ReLateBound(DebruijnIndex(0), BrNamed(crate0:DefIndex(0:0), 'r)) u32>, std::cell::Cell<&ReLateBound(DebruijnIndex(0), BrNamed(crate0:DefIndex(0:0), 's)) &'_#2r u32>, std::cell::Cell<&ReLateBound(DebruijnIndex(0), BrNamed(crate0:DefIndex(0:0), 'r)) u32>, std::cell::Cell<&ReLateBound(DebruijnIndex(0), BrNamed(crate0:DefIndex(0:0), 's)) u32>)) ] = note: number of external vids: 5 = note: where '_#1r: '_#2r error[E0623]: lifetime mismatch --> $DIR/propagate-approximated-val.rs:46:5 | LL | fn test<'a, 'b>(cell_a: Cell<&'a u32>, cell_b: Cell<&'b u32>) { | ------- ------- | | | these two types are declared with different lifetimes... LL | / establish_relationships(cell_a, cell_b, |outlives1, outlives2, x, y| { LL | | //~^ ERROR lifetime mismatch LL | | LL | | // Only works if 'x: 'y: LL | | demand_y(outlives1, outlives2, x.get()) //~ WARNING not reporting region error due to nll LL | | }); | |______^ ...but data from `cell_a` flows into `cell_b` here note: No external requirements --> $DIR/propagate-approximated-val.rs:45:1 | LL | / fn test<'a, 'b>(cell_a: Cell<&'a u32>, cell_b: Cell<&'b u32>) { LL | | establish_relationships(cell_a, cell_b, |outlives1, outlives2, x, y| { LL | | //~^ ERROR lifetime mismatch LL | | ... | LL | | }); LL | | } | |_^ | = note: defining type: DefId(0/0:6 ~ propagate_approximated_val[317d]::test[0]) with substs [] error: aborting due to previous error For more information about this error, try `rustc --explain E0623`.