]> git.lizzy.rs Git - rust.git/blob - src/test/ui/nll/closure-requirements/propagate-fail-to-approximate-longer-wrong-bounds.stderr
Show a note where a macro failed to match
[rust.git] / src / test / ui / nll / closure-requirements / propagate-fail-to-approximate-longer-wrong-bounds.stderr
1 note: no external requirements
2   --> $DIR/propagate-fail-to-approximate-longer-wrong-bounds.rs:39:47
3    |
4 LL |     establish_relationships(&cell_a, &cell_b, |_outlives1, _outlives2, x, y| {
5    |                                               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
6    |
7    = note: defining type: supply::{closure#0} with closure substs [
8                i16,
9                for<'a, 'b, 'c, 'd, 'e, 'f> extern "rust-call" fn((&ReLateBound(DebruijnIndex(0), BoundRegion { var: 0, kind: BrNamed('a) }) std::cell::Cell<&ReLateBound(DebruijnIndex(0), BoundRegion { var: 1, kind: BrNamed('b) }) &'_#1r u32>, &ReLateBound(DebruijnIndex(0), BoundRegion { var: 2, kind: BrNamed('c) }) std::cell::Cell<&ReLateBound(DebruijnIndex(0), BoundRegion { var: 3, kind: BrNamed('d) }) &'_#2r u32>, &ReLateBound(DebruijnIndex(0), BoundRegion { var: 4, kind: BrNamed('e) }) std::cell::Cell<&ReLateBound(DebruijnIndex(0), BoundRegion { var: 1, kind: BrNamed('b) }) u32>, &ReLateBound(DebruijnIndex(0), BoundRegion { var: 5, kind: BrNamed('f) }) std::cell::Cell<&ReLateBound(DebruijnIndex(0), BoundRegion { var: 3, kind: BrNamed('d) }) u32>)),
10                (),
11            ]
12    = note: late-bound region is '_#3r
13    = note: late-bound region is '_#4r
14
15 error: lifetime may not live long enough
16   --> $DIR/propagate-fail-to-approximate-longer-wrong-bounds.rs:41:9
17    |
18 LL |     establish_relationships(&cell_a, &cell_b, |_outlives1, _outlives2, x, y| {
19    |                                                ----------  ---------- has type `&'_#8r Cell<&'2 &'_#2r u32>`
20    |                                                |
21    |                                                has type `&'_#6r Cell<&'1 &'_#1r u32>`
22 LL |         // Only works if 'x: 'y:
23 LL |         demand_y(x, y, x.get())
24    |         ^^^^^^^^^^^^^^^^^^^^^^^ argument requires that `'1` must outlive `'2`
25
26 note: no external requirements
27   --> $DIR/propagate-fail-to-approximate-longer-wrong-bounds.rs:38:1
28    |
29 LL | fn supply<'a, 'b>(cell_a: Cell<&'a u32>, cell_b: Cell<&'b u32>) {
30    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
31    |
32    = note: defining type: supply
33
34 error: aborting due to previous error
35