summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEduard-Mihai Burtescu <edy.burt@gmail.com>2019-11-30 18:47:21 +0200
committerEduard-Mihai Burtescu <edy.burt@gmail.com>2019-11-30 18:47:21 +0200
commit84bad09420858df1330b7da2a9cbc92468858bad (patch)
tree944d09d8eab22c000a626f39d78edbfd9185e95f
parentAuto merge of #66873 - RalfJung:miri-args, r=dtolnay (diff)
downloadrust-84bad09420858df1330b7da2a9cbc92468858bad.tar.gz
rust-84bad09420858df1330b7da2a9cbc92468858bad.tar.bz2
rust-84bad09420858df1330b7da2a9cbc92468858bad.tar.xz
rustc_mir: use nicer path printing for #[rustc_regions] NLL tests.
-rw-r--r--src/librustc_mir/borrow_check/nll/universal_regions.rs22
-rw-r--r--src/test/ui/nll/closure-requirements/escape-argument-callee.stderr4
-rw-r--r--src/test/ui/nll/closure-requirements/escape-argument.stderr4
-rw-r--r--src/test/ui/nll/closure-requirements/escape-upvar-nested.stderr6
-rw-r--r--src/test/ui/nll/closure-requirements/escape-upvar-ref.stderr4
-rw-r--r--src/test/ui/nll/closure-requirements/propagate-approximated-fail-no-postdom.stderr4
-rw-r--r--src/test/ui/nll/closure-requirements/propagate-approximated-ref.stderr4
-rw-r--r--src/test/ui/nll/closure-requirements/propagate-approximated-shorter-to-static-comparing-against-free.stderr8
-rw-r--r--src/test/ui/nll/closure-requirements/propagate-approximated-shorter-to-static-no-bound.stderr4
-rw-r--r--src/test/ui/nll/closure-requirements/propagate-approximated-shorter-to-static-wrong-bound.stderr4
-rw-r--r--src/test/ui/nll/closure-requirements/propagate-approximated-val.stderr4
-rw-r--r--src/test/ui/nll/closure-requirements/propagate-despite-same-free-region.stderr4
-rw-r--r--src/test/ui/nll/closure-requirements/propagate-fail-to-approximate-longer-no-bounds.stderr4
-rw-r--r--src/test/ui/nll/closure-requirements/propagate-fail-to-approximate-longer-wrong-bounds.stderr4
-rw-r--r--src/test/ui/nll/closure-requirements/propagate-from-trait-match.stderr9
-rw-r--r--src/test/ui/nll/closure-requirements/return-wrong-bound-region.stderr4
-rw-r--r--src/test/ui/nll/ty-outlives/projection-no-regions-closure.stderr40
-rw-r--r--src/test/ui/nll/ty-outlives/projection-one-region-closure.stderr42
-rw-r--r--src/test/ui/nll/ty-outlives/projection-one-region-trait-bound-closure.stderr51
-rw-r--r--src/test/ui/nll/ty-outlives/projection-one-region-trait-bound-static-closure.stderr51
-rw-r--r--src/test/ui/nll/ty-outlives/projection-two-region-trait-bound-closure.stderr92
-rw-r--r--src/test/ui/nll/ty-outlives/ty-param-closure-approximate-lower-bound.stderr14
-rw-r--r--src/test/ui/nll/ty-outlives/ty-param-closure-outlives-from-return-type.stderr9
-rw-r--r--src/test/ui/nll/ty-outlives/ty-param-closure-outlives-from-where-clause.stderr36
24 files changed, 109 insertions, 319 deletions
diff --git a/src/librustc_mir/borrow_check/nll/universal_regions.rs b/src/librustc_mir/borrow_check/nll/universal_regions.rs
index fbedac4..9ad15fc 100644
--- a/src/librustc_mir/borrow_check/nll/universal_regions.rs
+++ b/src/librustc_mir/borrow_check/nll/universal_regions.rs
@@ -312,9 +312,9 @@ impl<'tcx> UniversalRegions<'tcx> {
312 match self.defining_ty { 312 match self.defining_ty {
313 DefiningTy::Closure(def_id, substs) => { 313 DefiningTy::Closure(def_id, substs) => {
314 err.note(&format!( 314 err.note(&format!(
315 "defining type: {:?} with closure substs {:#?}", 315 "defining type: {} with closure substs {:#?}",
316 def_id, 316 tcx.def_path_str_with_substs(def_id, substs),
317 &substs[..] 317 &substs[tcx.generics_of(def_id).parent_count..],
318 )); 318 ));
319 319
320 // FIXME: It'd be nice to print the late-bound regions 320 // FIXME: It'd be nice to print the late-bound regions
@@ -332,9 +332,9 @@ impl<'tcx> UniversalRegions<'tcx> {
332 } 332 }
333 DefiningTy::Generator(def_id, substs, _) => { 333 DefiningTy::Generator(def_id, substs, _) => {
334 err.note(&format!( 334 err.note(&format!(
335 "defining type: {:?} with generator substs {:#?}", 335 "defining type: {} with generator substs {:#?}",
336 def_id, 336 tcx.def_path_str_with_substs(def_id, substs),
337 &substs[..] 337 &substs[tcx.generics_of(def_id).parent_count..],
338 )); 338 ));
339 339
340 // FIXME: As above, we'd like to print out the region 340 // FIXME: As above, we'd like to print out the region
@@ -350,16 +350,14 @@ impl<'tcx> UniversalRegions<'tcx> {
350 } 350 }
351 DefiningTy::FnDef(def_id, substs) => { 351 DefiningTy::FnDef(def_id, substs) => {
352 err.note(&format!( 352 err.note(&format!(
353 "defining type: {:?} with substs {:#?}", 353 "defining type: {}",
354 def_id, 354 tcx.def_path_str_with_substs(def_id, substs),
355 &substs[..]
356 )); 355 ));
357 } 356 }
358 DefiningTy::Const(def_id, substs) => { 357 DefiningTy::Const(def_id, substs) => {
359 err.note(&format!( 358 err.note(&format!(
360 "defining constant type: {:?} with substs {:#?}", 359 "defining constant type: {}",
361 def_id, 360 tcx.def_path_str_with_substs(def_id, substs),
362 &substs[..]
363 )); 361 ));
364 } 362 }
365 } 363 }
diff --git a/src/test/ui/nll/closure-requirements/escape-argument-callee.stderr b/src/test/ui/nll/closure-requirements/escape-argument-callee.stderr
index 1f15ce5..a6619b9 100644
--- a/src/test/ui/nll/closure-requirements/escape-argument-callee.stderr
+++ b/src/test/ui/nll/closure-requirements/escape-argument-callee.stderr
@@ -4,7 +4,7 @@ note: No external requirements
4LL | let mut closure = expect_sig(|p, y| *p = y); 4LL | let mut closure = expect_sig(|p, y| *p = y);
5 | ^^^^^^^^^^^^^ 5 | ^^^^^^^^^^^^^
6 | 6 |
7 = note: defining type: DefId(0:4 ~ escape_argument_callee[317d]::test[0]::{{closure}}[0]) with closure substs [ 7 = note: defining type: test::{{closure}}#0 with closure substs [
8 i16, 8 i16,
9 for<'r, 's, 't0> extern "rust-call" fn((&ReLateBound(DebruijnIndex(0), BrNamed(crate0:DefIndex(0), 'r)) mut &ReLateBound(DebruijnIndex(0), BrNamed(crate0:DefIndex(0), 's)) i32, &ReLateBound(DebruijnIndex(0), BrNamed(crate0:DefIndex(0), 't0)) i32)), 9 for<'r, 's, 't0> extern "rust-call" fn((&ReLateBound(DebruijnIndex(0), BrNamed(crate0:DefIndex(0), 'r)) mut &ReLateBound(DebruijnIndex(0), BrNamed(crate0:DefIndex(0), 's)) i32, &ReLateBound(DebruijnIndex(0), BrNamed(crate0:DefIndex(0), 't0)) i32)),
10 ] 10 ]
@@ -30,7 +30,7 @@ LL | | deref(p);
30LL | | } 30LL | | }
31 | |_^ 31 | |_^
32 | 32 |
33 = note: defining type: DefId(0:3 ~ escape_argument_callee[317d]::test[0]) with substs [] 33 = note: defining type: test
34 34
35error: aborting due to previous error 35error: aborting due to previous error
36 36
diff --git a/src/test/ui/nll/closure-requirements/escape-argument.stderr b/src/test/ui/nll/closure-requirements/escape-argument.stderr
index 610a4ae..31c7c32 100644
--- a/src/test/ui/nll/closure-requirements/escape-argument.stderr
+++ b/src/test/ui/nll/closure-requirements/escape-argument.stderr
@@ -4,7 +4,7 @@ note: No external requirements
4LL | let mut closure = expect_sig(|p, y| *p = y); 4LL | let mut closure = expect_sig(|p, y| *p = y);
5 | ^^^^^^^^^^^^^ 5 | ^^^^^^^^^^^^^
6 | 6 |
7 = note: defining type: DefId(0:4 ~ escape_argument[317d]::test[0]::{{closure}}[0]) with closure substs [ 7 = note: defining type: test::{{closure}}#0 with closure substs [
8 i16, 8 i16,
9 for<'r, 's> extern "rust-call" fn((&ReLateBound(DebruijnIndex(0), BrNamed(crate0:DefIndex(0), 'r)) mut &ReLateBound(DebruijnIndex(0), BrNamed(crate0:DefIndex(0), 's)) i32, &ReLateBound(DebruijnIndex(0), BrNamed(crate0:DefIndex(0), 's)) i32)), 9 for<'r, 's> extern "rust-call" fn((&ReLateBound(DebruijnIndex(0), BrNamed(crate0:DefIndex(0), 'r)) mut &ReLateBound(DebruijnIndex(0), BrNamed(crate0:DefIndex(0), 's)) i32, &ReLateBound(DebruijnIndex(0), BrNamed(crate0:DefIndex(0), 's)) i32)),
10 ] 10 ]
@@ -21,7 +21,7 @@ LL | | deref(p);
21LL | | } 21LL | | }
22 | |_^ 22 | |_^
23 | 23 |
24 = note: defining type: DefId(0:3 ~ escape_argument[317d]::test[0]) with substs [] 24 = note: defining type: test
25 25
26error[E0597]: `y` does not live long enough 26error[E0597]: `y` does not live long enough
27 --> $DIR/escape-argument.rs:27:25 27 --> $DIR/escape-argument.rs:27:25
diff --git a/src/test/ui/nll/closure-requirements/escape-upvar-nested.stderr b/src/test/ui/nll/closure-requirements/escape-upvar-nested.stderr
index 7c4d48c..810c028 100644
--- a/src/test/ui/nll/closure-requirements/escape-upvar-nested.stderr
+++ b/src/test/ui/nll/closure-requirements/escape-upvar-nested.stderr
@@ -4,7 +4,7 @@ note: External requirements
4LL | let mut closure1 = || p = &y; 4LL | let mut closure1 = || p = &y;
5 | ^^^^^^^^^ 5 | ^^^^^^^^^
6 | 6 |
7 = note: defining type: DefId(0:5 ~ escape_upvar_nested[317d]::test[0]::{{closure}}[0]::{{closure}}[0]) with closure substs [ 7 = note: defining type: test::{{closure}}#0::{{closure}}#0 with closure substs [
8 i16, 8 i16,
9 extern "rust-call" fn(()), 9 extern "rust-call" fn(()),
10 &'_#1r i32, 10 &'_#1r i32,
@@ -23,7 +23,7 @@ LL | | closure1();
23LL | | }; 23LL | | };
24 | |_________^ 24 | |_________^
25 | 25 |
26 = note: defining type: DefId(0:4 ~ escape_upvar_nested[317d]::test[0]::{{closure}}[0]) with closure substs [ 26 = note: defining type: test::{{closure}}#0 with closure substs [
27 i16, 27 i16,
28 extern "rust-call" fn(()), 28 extern "rust-call" fn(()),
29 &'_#1r i32, 29 &'_#1r i32,
@@ -44,7 +44,7 @@ LL | | deref(p);
44LL | | } 44LL | | }
45 | |_^ 45 | |_^
46 | 46 |
47 = note: defining type: DefId(0:3 ~ escape_upvar_nested[317d]::test[0]) with substs [] 47 = note: defining type: test
48 48
49error[E0597]: `y` does not live long enough 49error[E0597]: `y` does not live long enough
50 --> $DIR/escape-upvar-nested.rs:21:40 50 --> $DIR/escape-upvar-nested.rs:21:40
diff --git a/src/test/ui/nll/closure-requirements/escape-upvar-ref.stderr b/src/test/ui/nll/closure-requirements/escape-upvar-ref.stderr
index 4446486..bf04276 100644
--- a/src/test/ui/nll/closure-requirements/escape-upvar-ref.stderr
+++ b/src/test/ui/nll/closure-requirements/escape-upvar-ref.stderr
@@ -4,7 +4,7 @@ note: External requirements
4LL | let mut closure = || p = &y; 4LL | let mut closure = || p = &y;
5 | ^^^^^^^^^ 5 | ^^^^^^^^^
6 | 6 |
7 = note: defining type: DefId(0:4 ~ escape_upvar_ref[317d]::test[0]::{{closure}}[0]) with closure substs [ 7 = note: defining type: test::{{closure}}#0 with closure substs [
8 i16, 8 i16,
9 extern "rust-call" fn(()), 9 extern "rust-call" fn(()),
10 &'_#1r i32, 10 &'_#1r i32,
@@ -25,7 +25,7 @@ LL | | deref(p);
25LL | | } 25LL | | }
26 | |_^ 26 | |_^
27 | 27 |
28 = note: defining type: DefId(0:3 ~ escape_upvar_ref[317d]::test[0]) with substs [] 28 = note: defining type: test
29 29
30error[E0597]: `y` does not live long enough 30error[E0597]: `y` does not live long enough
31 --> $DIR/escape-upvar-ref.rs:23:35 31 --> $DIR/escape-upvar-ref.rs:23:35
diff --git a/src/test/ui/nll/closure-requirements/propagate-approximated-fail-no-postdom.stderr b/src/test/ui/nll/closure-requirements/propagate-approximated-fail-no-postdom.stderr
index 43406c0..eef77b0 100644
--- a/src/test/ui/nll/closure-requirements/propagate-approximated-fail-no-postdom.stderr
+++ b/src/test/ui/nll/closure-requirements/propagate-approximated-fail-no-postdom.stderr
@@ -8,7 +8,7 @@ LL | | demand_y(x, y, p)
8LL | | }, 8LL | | },
9 | |_________^ 9 | |_________^
10 | 10 |
11 = note: defining type: DefId(0:18 ~ propagate_approximated_fail_no_postdom[317d]::supply[0]::{{closure}}[0]) with closure substs [ 11 = note: defining type: supply::{{closure}}#0 with closure substs [
12 i16, 12 i16,
13 for<'r, 's> extern "rust-call" fn((std::cell::Cell<&'_#1r &ReLateBound(DebruijnIndex(0), BrNamed(crate0:DefIndex(0), 'r)) u32>, std::cell::Cell<&'_#2r &ReLateBound(DebruijnIndex(0), BrNamed(crate0:DefIndex(0), 'r)) u32>, std::cell::Cell<&ReLateBound(DebruijnIndex(0), BrNamed(crate0:DefIndex(0), 's)) &'_#3r u32>, std::cell::Cell<&ReLateBound(DebruijnIndex(0), BrNamed(crate0:DefIndex(0), 'r)) u32>, std::cell::Cell<&ReLateBound(DebruijnIndex(0), BrNamed(crate0:DefIndex(0), 's)) u32>)), 13 for<'r, 's> extern "rust-call" fn((std::cell::Cell<&'_#1r &ReLateBound(DebruijnIndex(0), BrNamed(crate0:DefIndex(0), 'r)) u32>, std::cell::Cell<&'_#2r &ReLateBound(DebruijnIndex(0), BrNamed(crate0:DefIndex(0), 'r)) u32>, std::cell::Cell<&ReLateBound(DebruijnIndex(0), BrNamed(crate0:DefIndex(0), 's)) &'_#3r u32>, std::cell::Cell<&ReLateBound(DebruijnIndex(0), BrNamed(crate0:DefIndex(0), 'r)) u32>, std::cell::Cell<&ReLateBound(DebruijnIndex(0), BrNamed(crate0:DefIndex(0), 's)) u32>)),
14 ] 14 ]
@@ -39,7 +39,7 @@ LL | | );
39LL | | } 39LL | | }
40 | |_^ 40 | |_^
41 | 41 |
42 = note: defining type: DefId(0:14 ~ propagate_approximated_fail_no_postdom[317d]::supply[0]) with substs [] 42 = note: defining type: supply
43 43
44error: aborting due to previous error 44error: aborting due to previous error
45 45
diff --git a/src/test/ui/nll/closure-requirements/propagate-approximated-ref.stderr b/src/test/ui/nll/closure-requirements/propagate-approximated-ref.stderr
index 6f5b813..8b637b1 100644
--- a/src/test/ui/nll/closure-requirements/propagate-approximated-ref.stderr
+++ b/src/test/ui/nll/closure-requirements/propagate-approximated-ref.stderr
@@ -9,7 +9,7 @@ LL | |
9LL | | }); 9LL | | });
10 | |_____^ 10 | |_____^
11 | 11 |
12 = note: defining type: DefId(0:16 ~ propagate_approximated_ref[317d]::supply[0]::{{closure}}[0]) with closure substs [ 12 = note: defining type: supply::{{closure}}#0 with closure substs [
13 i16, 13 i16,
14 for<'r, 's, 't0, 't1, 't2, 't3> extern "rust-call" fn((&ReLateBound(DebruijnIndex(0), BrNamed(crate0:DefIndex(0), 'r)) std::cell::Cell<&'_#1r &ReLateBound(DebruijnIndex(0), BrNamed(crate0:DefIndex(0), 's)) u32>, &ReLateBound(DebruijnIndex(0), BrNamed(crate0:DefIndex(0), 't0)) std::cell::Cell<&ReLateBound(DebruijnIndex(0), BrNamed(crate0:DefIndex(0), 't1)) &'_#2r u32>, &ReLateBound(DebruijnIndex(0), BrNamed(crate0:DefIndex(0), 't2)) std::cell::Cell<&ReLateBound(DebruijnIndex(0), BrNamed(crate0:DefIndex(0), 's)) u32>, &ReLateBound(DebruijnIndex(0), BrNamed(crate0:DefIndex(0), 't3)) std::cell::Cell<&ReLateBound(DebruijnIndex(0), BrNamed(crate0:DefIndex(0), 't1)) u32>)), 14 for<'r, 's, 't0, 't1, 't2, 't3> extern "rust-call" fn((&ReLateBound(DebruijnIndex(0), BrNamed(crate0:DefIndex(0), 'r)) std::cell::Cell<&'_#1r &ReLateBound(DebruijnIndex(0), BrNamed(crate0:DefIndex(0), 's)) u32>, &ReLateBound(DebruijnIndex(0), BrNamed(crate0:DefIndex(0), 't0)) std::cell::Cell<&ReLateBound(DebruijnIndex(0), BrNamed(crate0:DefIndex(0), 't1)) &'_#2r u32>, &ReLateBound(DebruijnIndex(0), BrNamed(crate0:DefIndex(0), 't2)) std::cell::Cell<&ReLateBound(DebruijnIndex(0), BrNamed(crate0:DefIndex(0), 's)) u32>, &ReLateBound(DebruijnIndex(0), BrNamed(crate0:DefIndex(0), 't3)) std::cell::Cell<&ReLateBound(DebruijnIndex(0), BrNamed(crate0:DefIndex(0), 't1)) u32>)),
15 ] 15 ]
@@ -30,7 +30,7 @@ LL | | });
30LL | | } 30LL | | }
31 | |_^ 31 | |_^
32 | 32 |
33 = note: defining type: DefId(0:13 ~ propagate_approximated_ref[317d]::supply[0]) with substs [] 33 = note: defining type: supply
34 34
35error: lifetime may not live long enough 35error: lifetime may not live long enough
36 --> $DIR/propagate-approximated-ref.rs:45:9 36 --> $DIR/propagate-approximated-ref.rs:45:9
diff --git a/src/test/ui/nll/closure-requirements/propagate-approximated-shorter-to-static-comparing-against-free.stderr b/src/test/ui/nll/closure-requirements/propagate-approximated-shorter-to-static-comparing-against-free.stderr
index 5ebc22d..2cd21de 100644
--- a/src/test/ui/nll/closure-requirements/propagate-approximated-shorter-to-static-comparing-against-free.stderr
+++ b/src/test/ui/nll/closure-requirements/propagate-approximated-shorter-to-static-comparing-against-free.stderr
@@ -8,7 +8,7 @@ LL | |
8LL | | }) 8LL | | })
9 | |_____^ 9 | |_____^
10 | 10 |
11 = note: defining type: DefId(0:9 ~ propagate_approximated_shorter_to_static_comparing_against_free[317d]::case1[0]::{{closure}}[0]) with closure substs [ 11 = note: defining type: case1::{{closure}}#0 with closure substs [
12 i32, 12 i32,
13 for<'r> extern "rust-call" fn((std::cell::Cell<&'_#1r u32>, std::cell::Cell<&ReLateBound(DebruijnIndex(0), BrNamed(crate0:DefIndex(0), 'r)) u32>)), 13 for<'r> extern "rust-call" fn((std::cell::Cell<&'_#1r u32>, std::cell::Cell<&ReLateBound(DebruijnIndex(0), BrNamed(crate0:DefIndex(0), 'r)) u32>)),
14 ] 14 ]
@@ -35,7 +35,7 @@ LL | | })
35LL | | } 35LL | | }
36 | |_^ 36 | |_^
37 | 37 |
38 = note: defining type: DefId(0:8 ~ propagate_approximated_shorter_to_static_comparing_against_free[317d]::case1[0]) with substs [] 38 = note: defining type: case1
39 39
40note: External requirements 40note: External requirements
41 --> $DIR/propagate-approximated-shorter-to-static-comparing-against-free.rs:35:15 41 --> $DIR/propagate-approximated-shorter-to-static-comparing-against-free.rs:35:15
@@ -46,7 +46,7 @@ LL | | cell_x.set(cell_a.get()); // forces 'a: 'x, implies 'a = 'static
46LL | | }) 46LL | | })
47 | |_____^ 47 | |_____^
48 | 48 |
49 = note: defining type: DefId(0:11 ~ propagate_approximated_shorter_to_static_comparing_against_free[317d]::case2[0]::{{closure}}[0]) with closure substs [ 49 = note: defining type: case2::{{closure}}#0 with closure substs [
50 i32, 50 i32,
51 for<'r> extern "rust-call" fn((std::cell::Cell<&'_#1r u32>, std::cell::Cell<&ReLateBound(DebruijnIndex(0), BrNamed(crate0:DefIndex(0), 'r)) u32>)), 51 for<'r> extern "rust-call" fn((std::cell::Cell<&'_#1r u32>, std::cell::Cell<&ReLateBound(DebruijnIndex(0), BrNamed(crate0:DefIndex(0), 'r)) u32>)),
52 ] 52 ]
@@ -65,7 +65,7 @@ LL | | })
65LL | | } 65LL | | }
66 | |_^ 66 | |_^
67 | 67 |
68 = note: defining type: DefId(0:10 ~ propagate_approximated_shorter_to_static_comparing_against_free[317d]::case2[0]) with substs [] 68 = note: defining type: case2
69 69
70error[E0597]: `a` does not live long enough 70error[E0597]: `a` does not live long enough
71 --> $DIR/propagate-approximated-shorter-to-static-comparing-against-free.rs:30:26 71 --> $DIR/propagate-approximated-shorter-to-static-comparing-against-free.rs:30:26
diff --git a/src/test/ui/nll/closure-requirements/propagate-approximated-shorter-to-static-no-bound.stderr b/src/test/ui/nll/closure-requirements/propagate-approximated-shorter-to-static-no-bound.stderr
index 5ebf8e2..e61ab7d 100644
--- a/src/test/ui/nll/closure-requirements/propagate-approximated-shorter-to-static-no-bound.stderr
+++ b/src/test/ui/nll/closure-requirements/propagate-approximated-shorter-to-static-no-bound.stderr
@@ -10,7 +10,7 @@ LL | | demand_y(x, y, x.get())
10LL | | }); 10LL | | });
11 | |_____^ 11 | |_____^
12 | 12 |
13 = note: defining type: DefId(0:16 ~ propagate_approximated_shorter_to_static_no_bound[317d]::supply[0]::{{closure}}[0]) with closure substs [ 13 = note: defining type: supply::{{closure}}#0 with closure substs [
14 i16, 14 i16,
15 for<'r, 's, 't0, 't1, 't2> extern "rust-call" fn((&ReLateBound(DebruijnIndex(0), BrNamed(crate0:DefIndex(0), 'r)) std::cell::Cell<&'_#1r &ReLateBound(DebruijnIndex(0), BrNamed(crate0:DefIndex(0), 's)) u32>, &ReLateBound(DebruijnIndex(0), BrNamed(crate0:DefIndex(0), 't0)) std::cell::Cell<&ReLateBound(DebruijnIndex(0), BrNamed(crate0:DefIndex(0), 's)) u32>, &ReLateBound(DebruijnIndex(0), BrNamed(crate0:DefIndex(0), 't1)) std::cell::Cell<&ReLateBound(DebruijnIndex(0), BrNamed(crate0:DefIndex(0), 't2)) u32>)), 15 for<'r, 's, 't0, 't1, 't2> extern "rust-call" fn((&ReLateBound(DebruijnIndex(0), BrNamed(crate0:DefIndex(0), 'r)) std::cell::Cell<&'_#1r &ReLateBound(DebruijnIndex(0), BrNamed(crate0:DefIndex(0), 's)) u32>, &ReLateBound(DebruijnIndex(0), BrNamed(crate0:DefIndex(0), 't0)) std::cell::Cell<&ReLateBound(DebruijnIndex(0), BrNamed(crate0:DefIndex(0), 's)) u32>, &ReLateBound(DebruijnIndex(0), BrNamed(crate0:DefIndex(0), 't1)) std::cell::Cell<&ReLateBound(DebruijnIndex(0), BrNamed(crate0:DefIndex(0), 't2)) u32>)),
16 ] 16 ]
@@ -31,7 +31,7 @@ LL | | });
31LL | | } 31LL | | }
32 | |_^ 32 | |_^
33 | 33 |
34 = note: defining type: DefId(0:13 ~ propagate_approximated_shorter_to_static_no_bound[317d]::supply[0]) with substs [] 34 = note: defining type: supply
35 35
36error[E0521]: borrowed data escapes outside of function 36error[E0521]: borrowed data escapes outside of function
37 --> $DIR/propagate-approximated-shorter-to-static-no-bound.rs:32:5 37 --> $DIR/propagate-approximated-shorter-to-static-no-bound.rs:32:5
diff --git a/src/test/ui/nll/closure-requirements/propagate-approximated-shorter-to-static-wrong-bound.stderr b/src/test/ui/nll/closure-requirements/propagate-approximated-shorter-to-static-wrong-bound.stderr
index 91caa42..836a25f 100644
--- a/src/test/ui/nll/closure-requirements/propagate-approximated-shorter-to-static-wrong-bound.stderr
+++ b/src/test/ui/nll/closure-requirements/propagate-approximated-shorter-to-static-wrong-bound.stderr
@@ -10,7 +10,7 @@ LL | | demand_y(x, y, x.get())
10LL | | }); 10LL | | });
11 | |_____^ 11 | |_____^
12 | 12 |
13 = note: defining type: DefId(0:16 ~ propagate_approximated_shorter_to_static_wrong_bound[317d]::supply[0]::{{closure}}[0]) with closure substs [ 13 = note: defining type: supply::{{closure}}#0 with closure substs [
14 i16, 14 i16,
15 for<'r, 's, 't0, 't1, 't2, 't3> extern "rust-call" fn((&ReLateBound(DebruijnIndex(0), BrNamed(crate0:DefIndex(0), 'r)) std::cell::Cell<&'_#1r &ReLateBound(DebruijnIndex(0), BrNamed(crate0:DefIndex(0), 's)) u32>, &ReLateBound(DebruijnIndex(0), BrNamed(crate0:DefIndex(0), 't0)) std::cell::Cell<&'_#2r &ReLateBound(DebruijnIndex(0), BrNamed(crate0:DefIndex(0), 't1)) u32>, &ReLateBound(DebruijnIndex(0), BrNamed(crate0:DefIndex(0), 't2)) std::cell::Cell<&ReLateBound(DebruijnIndex(0), BrNamed(crate0:DefIndex(0), 's)) u32>, &ReLateBound(DebruijnIndex(0), BrNamed(crate0:DefIndex(0), 't3)) std::cell::Cell<&ReLateBound(DebruijnIndex(0), BrNamed(crate0:DefIndex(0), 't1)) u32>)), 15 for<'r, 's, 't0, 't1, 't2, 't3> extern "rust-call" fn((&ReLateBound(DebruijnIndex(0), BrNamed(crate0:DefIndex(0), 'r)) std::cell::Cell<&'_#1r &ReLateBound(DebruijnIndex(0), BrNamed(crate0:DefIndex(0), 's)) u32>, &ReLateBound(DebruijnIndex(0), BrNamed(crate0:DefIndex(0), 't0)) std::cell::Cell<&'_#2r &ReLateBound(DebruijnIndex(0), BrNamed(crate0:DefIndex(0), 't1)) u32>, &ReLateBound(DebruijnIndex(0), BrNamed(crate0:DefIndex(0), 't2)) std::cell::Cell<&ReLateBound(DebruijnIndex(0), BrNamed(crate0:DefIndex(0), 's)) u32>, &ReLateBound(DebruijnIndex(0), BrNamed(crate0:DefIndex(0), 't3)) std::cell::Cell<&ReLateBound(DebruijnIndex(0), BrNamed(crate0:DefIndex(0), 't1)) u32>)),
16 ] 16 ]
@@ -31,7 +31,7 @@ LL | | });
31LL | | } 31LL | | }
32 | |_^ 32 | |_^
33 | 33 |
34 = note: defining type: DefId(0:13 ~ propagate_approximated_shorter_to_static_wrong_bound[317d]::supply[0]) with substs [] 34 = note: defining type: supply
35 35
36error[E0521]: borrowed data escapes outside of function 36error[E0521]: borrowed data escapes outside of function
37 --> $DIR/propagate-approximated-shorter-to-static-wrong-bound.rs:35:5 37 --> $DIR/propagate-approximated-shorter-to-static-wrong-bound.rs:35:5
diff --git a/src/test/ui/nll/closure-requirements/propagate-approximated-val.stderr b/src/test/ui/nll/closure-requirements/propagate-approximated-val.stderr
index 243c8b1..dfb1913 100644
--- a/src/test/ui/nll/closure-requirements/propagate-approximated-val.stderr
+++ b/src/test/ui/nll/closure-requirements/propagate-approximated-val.stderr
@@ -9,7 +9,7 @@ LL | |
9LL | | }); 9LL | | });
10 | |_____^ 10 | |_____^
11 | 11 |
12 = note: defining type: DefId(0:16 ~ propagate_approximated_val[317d]::test[0]::{{closure}}[0]) with closure substs [ 12 = note: defining type: test::{{closure}}#0 with closure substs [
13 i16, 13 i16,
14 for<'r, 's> extern "rust-call" fn((std::cell::Cell<&'_#1r &ReLateBound(DebruijnIndex(0), BrNamed(crate0:DefIndex(0), 'r)) u32>, std::cell::Cell<&ReLateBound(DebruijnIndex(0), BrNamed(crate0:DefIndex(0), 's)) &'_#2r u32>, std::cell::Cell<&ReLateBound(DebruijnIndex(0), BrNamed(crate0:DefIndex(0), 'r)) u32>, std::cell::Cell<&ReLateBound(DebruijnIndex(0), BrNamed(crate0:DefIndex(0), 's)) u32>)), 14 for<'r, 's> extern "rust-call" fn((std::cell::Cell<&'_#1r &ReLateBound(DebruijnIndex(0), BrNamed(crate0:DefIndex(0), 'r)) u32>, std::cell::Cell<&ReLateBound(DebruijnIndex(0), BrNamed(crate0:DefIndex(0), 's)) &'_#2r u32>, std::cell::Cell<&ReLateBound(DebruijnIndex(0), BrNamed(crate0:DefIndex(0), 'r)) u32>, std::cell::Cell<&ReLateBound(DebruijnIndex(0), BrNamed(crate0:DefIndex(0), 's)) u32>)),
15 ] 15 ]
@@ -30,7 +30,7 @@ LL | | });
30LL | | } 30LL | | }
31 | |_^ 31 | |_^
32 | 32 |
33 = note: defining type: DefId(0:13 ~ propagate_approximated_val[317d]::test[0]) with substs [] 33 = note: defining type: test
34 34
35error: lifetime may not live long enough 35error: lifetime may not live long enough
36 --> $DIR/propagate-approximated-val.rs:38:9 36 --> $DIR/propagate-approximated-val.rs:38:9
diff --git a/src/test/ui/nll/closure-requirements/propagate-despite-same-free-region.stderr b/src/test/ui/nll/closure-requirements/propagate-despite-same-free-region.stderr
index c5468e7..33c927e 100644
--- a/src/test/ui/nll/closure-requirements/propagate-despite-same-free-region.stderr
+++ b/src/test/ui/nll/closure-requirements/propagate-despite-same-free-region.stderr
@@ -8,7 +8,7 @@ LL | | demand_y(x, y, p)
8LL | | }, 8LL | | },
9 | |_________^ 9 | |_________^
10 | 10 |
11 = note: defining type: DefId(0:14 ~ propagate_despite_same_free_region[317d]::supply[0]::{{closure}}[0]) with closure substs [ 11 = note: defining type: supply::{{closure}}#0 with closure substs [
12 i16, 12 i16,
13 for<'r, 's> extern "rust-call" fn((std::cell::Cell<&'_#1r &ReLateBound(DebruijnIndex(0), BrNamed(crate0:DefIndex(0), 'r)) u32>, std::cell::Cell<&ReLateBound(DebruijnIndex(0), BrNamed(crate0:DefIndex(0), 's)) &'_#2r u32>, std::cell::Cell<&ReLateBound(DebruijnIndex(0), BrNamed(crate0:DefIndex(0), 'r)) u32>, std::cell::Cell<&ReLateBound(DebruijnIndex(0), BrNamed(crate0:DefIndex(0), 's)) u32>)), 13 for<'r, 's> extern "rust-call" fn((std::cell::Cell<&'_#1r &ReLateBound(DebruijnIndex(0), BrNamed(crate0:DefIndex(0), 'r)) u32>, std::cell::Cell<&ReLateBound(DebruijnIndex(0), BrNamed(crate0:DefIndex(0), 's)) &'_#2r u32>, std::cell::Cell<&ReLateBound(DebruijnIndex(0), BrNamed(crate0:DefIndex(0), 'r)) u32>, std::cell::Cell<&ReLateBound(DebruijnIndex(0), BrNamed(crate0:DefIndex(0), 's)) u32>)),
14 ] 14 ]
@@ -28,5 +28,5 @@ LL | | );
28LL | | } 28LL | | }
29 | |_^ 29 | |_^
30 | 30 |
31 = note: defining type: DefId(0:12 ~ propagate_despite_same_free_region[317d]::supply[0]) with substs [] 31 = note: defining type: supply
32 32
diff --git a/src/test/ui/nll/closure-requirements/propagate-fail-to-approximate-longer-no-bounds.stderr b/src/test/ui/nll/closure-requirements/propagate-fail-to-approximate-longer-no-bounds.stderr
index bf43c89..cadb0a17 100644
--- a/src/test/ui/nll/closure-requirements/propagate-fail-to-approximate-longer-no-bounds.stderr
+++ b/src/test/ui/nll/closure-requirements/propagate-fail-to-approximate-longer-no-bounds.stderr
@@ -9,7 +9,7 @@ LL | |
9LL | | }); 9LL | | });
10 | |_____^ 10 | |_____^
11 | 11 |
12 = note: defining type: DefId(0:16 ~ propagate_fail_to_approximate_longer_no_bounds[317d]::supply[0]::{{closure}}[0]) with closure substs [ 12 = note: defining type: supply::{{closure}}#0 with closure substs [
13 i16, 13 i16,
14 for<'r, 's, 't0, 't1, 't2> extern "rust-call" fn((&ReLateBound(DebruijnIndex(0), BrNamed(crate0:DefIndex(0), 'r)) std::cell::Cell<&ReLateBound(DebruijnIndex(0), BrNamed(crate0:DefIndex(0), 's)) &'_#1r u32>, &ReLateBound(DebruijnIndex(0), BrNamed(crate0:DefIndex(0), 't0)) std::cell::Cell<&ReLateBound(DebruijnIndex(0), BrNamed(crate0:DefIndex(0), 't1)) u32>, &ReLateBound(DebruijnIndex(0), BrNamed(crate0:DefIndex(0), 't2)) std::cell::Cell<&ReLateBound(DebruijnIndex(0), BrNamed(crate0:DefIndex(0), 's)) u32>)), 14 for<'r, 's, 't0, 't1, 't2> extern "rust-call" fn((&ReLateBound(DebruijnIndex(0), BrNamed(crate0:DefIndex(0), 'r)) std::cell::Cell<&ReLateBound(DebruijnIndex(0), BrNamed(crate0:DefIndex(0), 's)) &'_#1r u32>, &ReLateBound(DebruijnIndex(0), BrNamed(crate0:DefIndex(0), 't0)) std::cell::Cell<&ReLateBound(DebruijnIndex(0), BrNamed(crate0:DefIndex(0), 't1)) u32>, &ReLateBound(DebruijnIndex(0), BrNamed(crate0:DefIndex(0), 't2)) std::cell::Cell<&ReLateBound(DebruijnIndex(0), BrNamed(crate0:DefIndex(0), 's)) u32>)),
15 ] 15 ]
@@ -39,7 +39,7 @@ LL | | });
39LL | | } 39LL | | }
40 | |_^ 40 | |_^
41 | 41 |
42 = note: defining type: DefId(0:13 ~ propagate_fail_to_approximate_longer_no_bounds[317d]::supply[0]) with substs [] 42 = note: defining type: supply
43 43
44error: aborting due to previous error 44error: aborting due to previous error
45 45
diff --git a/src/test/ui/nll/closure-requirements/propagate-fail-to-approximate-longer-wrong-bounds.stderr b/src/test/ui/nll/closure-requirements/propagate-fail-to-approximate-longer-wrong-bounds.stderr
index 569bae9..24ba0e8 100644
--- a/src/test/ui/nll/closure-requirements/propagate-fail-to-approximate-longer-wrong-bounds.stderr
+++ b/src/test/ui/nll/closure-requirements/propagate-fail-to-approximate-longer-wrong-bounds.stderr
@@ -9,7 +9,7 @@ LL | |
9LL | | }); 9LL | | });
10 | |_____^ 10 | |_____^
11 | 11 |
12 = note: defining type: DefId(0:16 ~ propagate_fail_to_approximate_longer_wrong_bounds[317d]::supply[0]::{{closure}}[0]) with closure substs [ 12 = note: defining type: supply::{{closure}}#0 with closure substs [
13 i16, 13 i16,
14 for<'r, 's, 't0, 't1, 't2, 't3> extern "rust-call" fn((&ReLateBound(DebruijnIndex(0), BrNamed(crate0:DefIndex(0), 'r)) std::cell::Cell<&ReLateBound(DebruijnIndex(0), BrNamed(crate0:DefIndex(0), 's)) &'_#1r u32>, &ReLateBound(DebruijnIndex(0), BrNamed(crate0:DefIndex(0), 't0)) std::cell::Cell<&ReLateBound(DebruijnIndex(0), BrNamed(crate0:DefIndex(0), 't1)) &'_#2r u32>, &ReLateBound(DebruijnIndex(0), BrNamed(crate0:DefIndex(0), 't2)) std::cell::Cell<&ReLateBound(DebruijnIndex(0), BrNamed(crate0:DefIndex(0), 's)) u32>, &ReLateBound(DebruijnIndex(0), BrNamed(crate0:DefIndex(0), 't3)) std::cell::Cell<&ReLateBound(DebruijnIndex(0), BrNamed(crate0:DefIndex(0), 't1)) u32>)), 14 for<'r, 's, 't0, 't1, 't2, 't3> extern "rust-call" fn((&ReLateBound(DebruijnIndex(0), BrNamed(crate0:DefIndex(0), 'r)) std::cell::Cell<&ReLateBound(DebruijnIndex(0), BrNamed(crate0:DefIndex(0), 's)) &'_#1r u32>, &ReLateBound(DebruijnIndex(0), BrNamed(crate0:DefIndex(0), 't0)) std::cell::Cell<&ReLateBound(DebruijnIndex(0), BrNamed(crate0:DefIndex(0), 't1)) &'_#2r u32>, &ReLateBound(DebruijnIndex(0), BrNamed(crate0:DefIndex(0), 't2)) std::cell::Cell<&ReLateBound(DebruijnIndex(0), BrNamed(crate0:DefIndex(0), 's)) u32>, &ReLateBound(DebruijnIndex(0), BrNamed(crate0:DefIndex(0), 't3)) std::cell::Cell<&ReLateBound(DebruijnIndex(0), BrNamed(crate0:DefIndex(0), 't1)) u32>)),
15 ] 15 ]
@@ -39,7 +39,7 @@ LL | | });
39LL | | } 39LL | | }
40 | |_^ 40 | |_^
41 | 41 |
42 = note: defining type: DefId(0:13 ~ propagate_fail_to_approximate_longer_wrong_bounds[317d]::supply[0]) with substs [] 42 = note: defining type: supply
43 43
44error: aborting due to previous error 44error: aborting due to previous error
45 45
diff --git a/src/test/ui/nll/closure-requirements/propagate-from-trait-match.stderr b/src/test/ui/nll/closure-requirements/propagate-from-trait-match.stderr
index 0d62265..0dbb530 100644
--- a/src/test/ui/nll/closure-requirements/propagate-from-trait-match.stderr
+++ b/src/test/ui/nll/closure-requirements/propagate-from-trait-match.stderr
@@ -11,9 +11,7 @@ LL | | require(value);
11LL | | }); 11LL | | });
12 | |_____^ 12 | |_____^
13 | 13 |
14 = note: defining type: DefId(0:14 ~ propagate_from_trait_match[317d]::supply[0]::{{closure}}[0]) with closure substs [ 14 = note: defining type: supply::<'_#1r, T>::{{closure}}#0 with closure substs [
15 '_#1r,
16 T,
17 i32, 15 i32,
18 extern "rust-call" fn((T,)), 16 extern "rust-call" fn((T,)),
19 ] 17 ]
@@ -32,10 +30,7 @@ LL | | });
32LL | | } 30LL | | }
33 | |_^ 31 | |_^
34 | 32 |
35 = note: defining type: DefId(0:11 ~ propagate_from_trait_match[317d]::supply[0]) with substs [ 33 = note: defining type: supply::<'_#1r, T>
36 '_#1r,
37 T,
38 ]
39 34
40error[E0309]: the parameter type `T` may not live long enough 35error[E0309]: the parameter type `T` may not live long enough
41 --> $DIR/propagate-from-trait-match.rs:32:36 36 --> $DIR/propagate-from-trait-match.rs:32:36
diff --git a/src/test/ui/nll/closure-requirements/return-wrong-bound-region.stderr b/src/test/ui/nll/closure-requirements/return-wrong-bound-region.stderr
index 00c56a7..f6ed5e3 100644
--- a/src/test/ui/nll/closure-requirements/return-wrong-bound-region.stderr
+++ b/src/test/ui/nll/closure-requirements/return-wrong-bound-region.stderr
@@ -4,7 +4,7 @@ note: No external requirements
4LL | expect_sig(|a, b| b); // ought to return `a` 4LL | expect_sig(|a, b| b); // ought to return `a`
5 | ^^^^^^^^ 5 | ^^^^^^^^
6 | 6 |
7 = note: defining type: DefId(0:4 ~ return_wrong_bound_region[317d]::test[0]::{{closure}}[0]) with closure substs [ 7 = note: defining type: test::{{closure}}#0 with closure substs [
8 i16, 8 i16,
9 for<'r, 's> extern "rust-call" fn((&ReLateBound(DebruijnIndex(0), BrNamed(crate0:DefIndex(0), 'r)) i32, &ReLateBound(DebruijnIndex(0), BrNamed(crate0:DefIndex(0), 's)) i32)) -> &ReLateBound(DebruijnIndex(0), BrNamed(crate0:DefIndex(0), 'r)) i32, 9 for<'r, 's> extern "rust-call" fn((&ReLateBound(DebruijnIndex(0), BrNamed(crate0:DefIndex(0), 'r)) i32, &ReLateBound(DebruijnIndex(0), BrNamed(crate0:DefIndex(0), 's)) i32)) -> &ReLateBound(DebruijnIndex(0), BrNamed(crate0:DefIndex(0), 'r)) i32,
10 ] 10 ]
@@ -27,7 +27,7 @@ LL | |
27LL | | } 27LL | | }
28 | |_^ 28 | |_^
29 | 29 |
30 = note: defining type: DefId(0:3 ~ return_wrong_bound_region[317d]::test[0]) with substs [] 30 = note: defining type: test
31 31
32error: aborting due to previous error 32error: aborting due to previous error
33 33
diff --git a/src/test/ui/nll/ty-outlives/projection-no-regions-closure.stderr b/src/test/ui/nll/ty-outlives/projection-no-regions-closure.stderr
index dd61023..c825227 100644
--- a/src/test/ui/nll/ty-outlives/projection-no-regions-closure.stderr
+++ b/src/test/ui/nll/ty-outlives/projection-no-regions-closure.stderr
@@ -4,9 +4,7 @@ note: External requirements
4LL | with_signature(x, |mut y| Box::new(y.next())) 4LL | with_signature(x, |mut y| Box::new(y.next()))
5 | ^^^^^^^^^^^^^^^^^^^^^^^^^^ 5 | ^^^^^^^^^^^^^^^^^^^^^^^^^^
6 | 6 |
7 = note: defining type: DefId(0:13 ~ projection_no_regions_closure[317d]::no_region[0]::{{closure}}[0]) with closure substs [ 7 = note: defining type: no_region::<'_#1r, T>::{{closure}}#0 with closure substs [
8 '_#1r,
9 T,
10 i32, 8 i32,
11 extern "rust-call" fn((std::boxed::Box<T>,)) -> std::boxed::Box<(dyn Anything + '_#2r)>, 9 extern "rust-call" fn((std::boxed::Box<T>,)) -> std::boxed::Box<(dyn Anything + '_#2r)>,
12 ] 10 ]
@@ -25,10 +23,7 @@ LL | |
25LL | | } 23LL | | }
26 | |_^ 24 | |_^
27 | 25 |
28 = note: defining type: DefId(0:10 ~ projection_no_regions_closure[317d]::no_region[0]) with substs [ 26 = note: defining type: no_region::<'_#1r, T>
29 '_#1r,
30 T,
31 ]
32 27
33error[E0309]: the associated type `<T as std::iter::Iterator>::Item` may not live long enough 28error[E0309]: the associated type `<T as std::iter::Iterator>::Item` may not live long enough
34 --> $DIR/projection-no-regions-closure.rs:25:23 29 --> $DIR/projection-no-regions-closure.rs:25:23
@@ -44,9 +39,7 @@ note: External requirements
44LL | with_signature(x, |mut y| Box::new(y.next())) 39LL | with_signature(x, |mut y| Box::new(y.next()))
45 | ^^^^^^^^^^^^^^^^^^^^^^^^^^ 40 | ^^^^^^^^^^^^^^^^^^^^^^^^^^
46 | 41 |
47 = note: defining type: DefId(0:17 ~ projection_no_regions_closure[317d]::correct_region[0]::{{closure}}[0]) with closure substs [ 42 = note: defining type: correct_region::<'_#1r, T>::{{closure}}#0 with closure substs [
48 '_#1r,
49 T,
50 i32, 43 i32,
51 extern "rust-call" fn((std::boxed::Box<T>,)) -> std::boxed::Box<(dyn Anything + '_#2r)>, 44 extern "rust-call" fn((std::boxed::Box<T>,)) -> std::boxed::Box<(dyn Anything + '_#2r)>,
52 ] 45 ]
@@ -64,10 +57,7 @@ LL | | with_signature(x, |mut y| Box::new(y.next()))
64LL | | } 57LL | | }
65 | |_^ 58 | |_^
66 | 59 |
67 = note: defining type: DefId(0:14 ~ projection_no_regions_closure[317d]::correct_region[0]) with substs [ 60 = note: defining type: correct_region::<'_#1r, T>
68 '_#1r,
69 T,
70 ]
71 61
72note: External requirements 62note: External requirements
73 --> $DIR/projection-no-regions-closure.rs:42:23 63 --> $DIR/projection-no-regions-closure.rs:42:23
@@ -75,10 +65,7 @@ note: External requirements
75LL | with_signature(x, |mut y| Box::new(y.next())) 65LL | with_signature(x, |mut y| Box::new(y.next()))
76 | ^^^^^^^^^^^^^^^^^^^^^^^^^^ 66 | ^^^^^^^^^^^^^^^^^^^^^^^^^^
77 | 67 |
78 = note: defining type: DefId(0:22 ~ projection_no_regions_closure[317d]::wrong_region[0]::{{closure}}[0]) with closure substs [ 68 = note: defining type: wrong_region::<'_#1r, '_#2r, T>::{{closure}}#0 with closure substs [
79 '_#1r,
80 '_#2r,
81 T,
82 i32, 69 i32,
83 extern "rust-call" fn((std::boxed::Box<T>,)) -> std::boxed::Box<(dyn Anything + '_#3r)>, 70 extern "rust-call" fn((std::boxed::Box<T>,)) -> std::boxed::Box<(dyn Anything + '_#3r)>,
84 ] 71 ]
@@ -97,11 +84,7 @@ LL | |
97LL | | } 84LL | | }
98 | |_^ 85 | |_^
99 | 86 |
100 = note: defining type: DefId(0:18 ~ projection_no_regions_closure[317d]::wrong_region[0]) with substs [ 87 = note: defining type: wrong_region::<'_#1r, '_#2r, T>
101 '_#1r,
102 '_#2r,
103 T,
104 ]
105 88
106error[E0309]: the associated type `<T as std::iter::Iterator>::Item` may not live long enough 89error[E0309]: the associated type `<T as std::iter::Iterator>::Item` may not live long enough
107 --> $DIR/projection-no-regions-closure.rs:42:23 90 --> $DIR/projection-no-regions-closure.rs:42:23
@@ -117,10 +100,7 @@ note: External requirements
117LL | with_signature(x, |mut y| Box::new(y.next())) 100LL | with_signature(x, |mut y| Box::new(y.next()))
118 | ^^^^^^^^^^^^^^^^^^^^^^^^^^ 101 | ^^^^^^^^^^^^^^^^^^^^^^^^^^
119 | 102 |
120 = note: defining type: DefId(0:27 ~ projection_no_regions_closure[317d]::outlives_region[0]::{{closure}}[0]) with closure substs [ 103 = note: defining type: outlives_region::<'_#1r, '_#2r, T>::{{closure}}#0 with closure substs [
121 '_#1r,
122 '_#2r,
123 T,
124 i32, 104 i32,
125 extern "rust-call" fn((std::boxed::Box<T>,)) -> std::boxed::Box<(dyn Anything + '_#3r)>, 105 extern "rust-call" fn((std::boxed::Box<T>,)) -> std::boxed::Box<(dyn Anything + '_#3r)>,
126 ] 106 ]
@@ -139,11 +119,7 @@ LL | | with_signature(x, |mut y| Box::new(y.next()))
139LL | | } 119LL | | }
140 | |_^ 120 | |_^
141 | 121 |
142 = note: defining type: DefId(0:23 ~ projection_no_regions_closure[317d]::outlives_region[0]) with substs [ 122 = note: defining type: outlives_region::<'_#1r, '_#2r, T>
143 '_#1r,
144 '_#2r,
145 T,
146 ]
147 123
148error: aborting due to 2 previous errors 124error: aborting due to 2 previous errors
149 125
diff --git a/src/test/ui/nll/ty-outlives/projection-one-region-closure.stderr b/src/test/ui/nll/ty-outlives/projection-one-region-closure.stderr
index d33f672..7473305 100644
--- a/src/test/ui/nll/ty-outlives/projection-one-region-closure.stderr
+++ b/src/test/ui/nll/ty-outlives/projection-one-region-closure.stderr
@@ -4,9 +4,7 @@ note: External requirements
4LL | with_signature(cell, t, |cell, t| require(cell, t)); 4LL | with_signature(cell, t, |cell, t| require(cell, t));
5 | ^^^^^^^^^^^^^^^^^^^^^^^^^^ 5 | ^^^^^^^^^^^^^^^^^^^^^^^^^^
6 | 6 |
7 = note: defining type: DefId(0:19 ~ projection_one_region_closure[317d]::no_relationships_late[0]::{{closure}}[0]) with closure substs [ 7 = note: defining type: no_relationships_late::<'_#1r, T>::{{closure}}#0 with closure substs [
8 '_#1r,
9 T,
10 i32, 8 i32,
11 extern "rust-call" fn((std::cell::Cell<&'_#2r ()>, T)), 9 extern "rust-call" fn((std::cell::Cell<&'_#2r ()>, T)),
12 ] 10 ]
@@ -27,10 +25,7 @@ LL | |
27LL | | } 25LL | | }
28 | |_^ 26 | |_^
29 | 27 |
30 = note: defining type: DefId(0:15 ~ projection_one_region_closure[317d]::no_relationships_late[0]) with substs [ 28 = note: defining type: no_relationships_late::<'_#1r, T>
31 '_#1r,
32 T,
33 ]
34 29
35error[E0309]: the parameter type `T` may not live long enough 30error[E0309]: the parameter type `T` may not live long enough
36 --> $DIR/projection-one-region-closure.rs:45:29 31 --> $DIR/projection-one-region-closure.rs:45:29
@@ -59,10 +54,7 @@ note: External requirements
59LL | with_signature(cell, t, |cell, t| require(cell, t)); 54LL | with_signature(cell, t, |cell, t| require(cell, t));
60 | ^^^^^^^^^^^^^^^^^^^^^^^^^^ 55 | ^^^^^^^^^^^^^^^^^^^^^^^^^^
61 | 56 |
62 = note: defining type: DefId(0:24 ~ projection_one_region_closure[317d]::no_relationships_early[0]::{{closure}}[0]) with closure substs [ 57 = note: defining type: no_relationships_early::<'_#1r, '_#2r, T>::{{closure}}#0 with closure substs [
63 '_#1r,
64 '_#2r,
65 T,
66 i32, 58 i32,
67 extern "rust-call" fn((std::cell::Cell<&'_#3r ()>, T)), 59 extern "rust-call" fn((std::cell::Cell<&'_#3r ()>, T)),
68 ] 60 ]
@@ -82,11 +74,7 @@ LL | |
82LL | | } 74LL | | }
83 | |_^ 75 | |_^
84 | 76 |
85 = note: defining type: DefId(0:20 ~ projection_one_region_closure[317d]::no_relationships_early[0]) with substs [ 77 = note: defining type: no_relationships_early::<'_#1r, '_#2r, T>
86 '_#1r,
87 '_#2r,
88 T,
89 ]
90 78
91error[E0309]: the parameter type `T` may not live long enough 79error[E0309]: the parameter type `T` may not live long enough
92 --> $DIR/projection-one-region-closure.rs:56:29 80 --> $DIR/projection-one-region-closure.rs:56:29
@@ -115,10 +103,7 @@ note: External requirements
115LL | with_signature(cell, t, |cell, t| require(cell, t)); 103LL | with_signature(cell, t, |cell, t| require(cell, t));
116 | ^^^^^^^^^^^^^^^^^^^^^^^^^^ 104 | ^^^^^^^^^^^^^^^^^^^^^^^^^^
117 | 105 |
118 = note: defining type: DefId(0:29 ~ projection_one_region_closure[317d]::projection_outlives[0]::{{closure}}[0]) with closure substs [ 106 = note: defining type: projection_outlives::<'_#1r, '_#2r, T>::{{closure}}#0 with closure substs [
119 '_#1r,
120 '_#2r,
121 T,
122 i32, 107 i32,
123 extern "rust-call" fn((std::cell::Cell<&'_#3r ()>, T)), 108 extern "rust-call" fn((std::cell::Cell<&'_#3r ()>, T)),
124 ] 109 ]
@@ -137,11 +122,7 @@ LL | | with_signature(cell, t, |cell, t| require(cell, t));
137LL | | } 122LL | | }
138 | |_^ 123 | |_^
139 | 124 |
140 = note: defining type: DefId(0:25 ~ projection_one_region_closure[317d]::projection_outlives[0]) with substs [ 125 = note: defining type: projection_outlives::<'_#1r, '_#2r, T>
141 '_#1r,
142 '_#2r,
143 T,
144 ]
145 126
146note: External requirements 127note: External requirements
147 --> $DIR/projection-one-region-closure.rs:80:29 128 --> $DIR/projection-one-region-closure.rs:80:29
@@ -149,10 +130,7 @@ note: External requirements
149LL | with_signature(cell, t, |cell, t| require(cell, t)); 130LL | with_signature(cell, t, |cell, t| require(cell, t));
150 | ^^^^^^^^^^^^^^^^^^^^^^^^^^ 131 | ^^^^^^^^^^^^^^^^^^^^^^^^^^
151 | 132 |
152 = note: defining type: DefId(0:34 ~ projection_one_region_closure[317d]::elements_outlive[0]::{{closure}}[0]) with closure substs [ 133 = note: defining type: elements_outlive::<'_#1r, '_#2r, T>::{{closure}}#0 with closure substs [
153 '_#1r,
154 '_#2r,
155 T,
156 i32, 134 i32,
157 extern "rust-call" fn((std::cell::Cell<&'_#3r ()>, T)), 135 extern "rust-call" fn((std::cell::Cell<&'_#3r ()>, T)),
158 ] 136 ]
@@ -172,11 +150,7 @@ LL | | with_signature(cell, t, |cell, t| require(cell, t));
172LL | | } 150LL | | }
173 | |_^ 151 | |_^
174 | 152 |
175 = note: defining type: DefId(0:30 ~ projection_one_region_closure[317d]::elements_outlive[0]) with substs [ 153 = note: defining type: elements_outlive::<'_#1r, '_#2r, T>
176 '_#1r,
177 '_#2r,
178 T,
179 ]
180 154
181error: aborting due to 4 previous errors 155error: aborting due to 4 previous errors
182 156
diff --git a/src/test/ui/nll/ty-outlives/projection-one-region-trait-bound-closure.stderr b/src/test/ui/nll/ty-outlives/projection-one-region-trait-bound-closure.stderr
index 0be25de..655995c 100644
--- a/src/test/ui/nll/ty-outlives/projection-one-region-trait-bound-closure.stderr
+++ b/src/test/ui/nll/ty-outlives/projection-one-region-trait-bound-closure.stderr
@@ -4,9 +4,7 @@ note: External requirements
4LL | with_signature(cell, t, |cell, t| require(cell, t)); 4LL | with_signature(cell, t, |cell, t| require(cell, t));
5 | ^^^^^^^^^^^^^^^^^^^^^^^^^^ 5 | ^^^^^^^^^^^^^^^^^^^^^^^^^^
6 | 6 |
7 = note: defining type: DefId(0:19 ~ projection_one_region_trait_bound_closure[317d]::no_relationships_late[0]::{{closure}}[0]) with closure substs [ 7 = note: defining type: no_relationships_late::<'_#1r, T>::{{closure}}#0 with closure substs [
8 '_#1r,
9 T,
10 i32, 8 i32,
11 extern "rust-call" fn((std::cell::Cell<&'_#2r ()>, T)), 9 extern "rust-call" fn((std::cell::Cell<&'_#2r ()>, T)),
12 ] 10 ]
@@ -26,10 +24,7 @@ LL | |
26LL | | } 24LL | | }
27 | |_^ 25 | |_^
28 | 26 |
29 = note: defining type: DefId(0:15 ~ projection_one_region_trait_bound_closure[317d]::no_relationships_late[0]) with substs [ 27 = note: defining type: no_relationships_late::<'_#1r, T>
30 '_#1r,
31 T,
32 ]
33 28
34error: lifetime may not live long enough 29error: lifetime may not live long enough
35 --> $DIR/projection-one-region-trait-bound-closure.rs:37:39 30 --> $DIR/projection-one-region-trait-bound-closure.rs:37:39
@@ -50,10 +45,7 @@ note: External requirements
50LL | with_signature(cell, t, |cell, t| require(cell, t)); 45LL | with_signature(cell, t, |cell, t| require(cell, t));
51 | ^^^^^^^^^^^^^^^^^^^^^^^^^^ 46 | ^^^^^^^^^^^^^^^^^^^^^^^^^^
52 | 47 |
53 = note: defining type: DefId(0:24 ~ projection_one_region_trait_bound_closure[317d]::no_relationships_early[0]::{{closure}}[0]) with closure substs [ 48 = note: defining type: no_relationships_early::<'_#1r, '_#2r, T>::{{closure}}#0 with closure substs [
54 '_#1r,
55 '_#2r,
56 T,
57 i32, 49 i32,
58 extern "rust-call" fn((std::cell::Cell<&'_#3r ()>, T)), 50 extern "rust-call" fn((std::cell::Cell<&'_#3r ()>, T)),
59 ] 51 ]
@@ -72,11 +64,7 @@ LL | |
72LL | | } 64LL | | }
73 | |_^ 65 | |_^
74 | 66 |
75 = note: defining type: DefId(0:20 ~ projection_one_region_trait_bound_closure[317d]::no_relationships_early[0]) with substs [ 67 = note: defining type: no_relationships_early::<'_#1r, '_#2r, T>
76 '_#1r,
77 '_#2r,
78 T,
79 ]
80 68
81error: lifetime may not live long enough 69error: lifetime may not live long enough
82 --> $DIR/projection-one-region-trait-bound-closure.rs:47:39 70 --> $DIR/projection-one-region-trait-bound-closure.rs:47:39
@@ -97,10 +85,7 @@ note: External requirements
97LL | with_signature(cell, t, |cell, t| require(cell, t)); 85LL | with_signature(cell, t, |cell, t| require(cell, t));
98 | ^^^^^^^^^^^^^^^^^^^^^^^^^^ 86 | ^^^^^^^^^^^^^^^^^^^^^^^^^^
99 | 87 |
100 = note: defining type: DefId(0:29 ~ projection_one_region_trait_bound_closure[317d]::projection_outlives[0]::{{closure}}[0]) with closure substs [ 88 = note: defining type: projection_outlives::<'_#1r, '_#2r, T>::{{closure}}#0 with closure substs [
101 '_#1r,
102 '_#2r,
103 T,
104 i32, 89 i32,
105 extern "rust-call" fn((std::cell::Cell<&'_#3r ()>, T)), 90 extern "rust-call" fn((std::cell::Cell<&'_#3r ()>, T)),
106 ] 91 ]
@@ -119,11 +104,7 @@ LL | | with_signature(cell, t, |cell, t| require(cell, t));
119LL | | } 104LL | | }
120 | |_^ 105 | |_^
121 | 106 |
122 = note: defining type: DefId(0:25 ~ projection_one_region_trait_bound_closure[317d]::projection_outlives[0]) with substs [ 107 = note: defining type: projection_outlives::<'_#1r, '_#2r, T>
123 '_#1r,
124 '_#2r,
125 T,
126 ]
127 108
128note: External requirements 109note: External requirements
129 --> $DIR/projection-one-region-trait-bound-closure.rs:69:29 110 --> $DIR/projection-one-region-trait-bound-closure.rs:69:29
@@ -131,10 +112,7 @@ note: External requirements
131LL | with_signature(cell, t, |cell, t| require(cell, t)); 112LL | with_signature(cell, t, |cell, t| require(cell, t));
132 | ^^^^^^^^^^^^^^^^^^^^^^^^^^ 113 | ^^^^^^^^^^^^^^^^^^^^^^^^^^
133 | 114 |
134 = note: defining type: DefId(0:34 ~ projection_one_region_trait_bound_closure[317d]::elements_outlive[0]::{{closure}}[0]) with closure substs [ 115 = note: defining type: elements_outlive::<'_#1r, '_#2r, T>::{{closure}}#0 with closure substs [
135 '_#1r,
136 '_#2r,
137 T,
138 i32, 116 i32,
139 extern "rust-call" fn((std::cell::Cell<&'_#3r ()>, T)), 117 extern "rust-call" fn((std::cell::Cell<&'_#3r ()>, T)),
140 ] 118 ]
@@ -153,11 +131,7 @@ LL | | with_signature(cell, t, |cell, t| require(cell, t));
153LL | | } 131LL | | }
154 | |_^ 132 | |_^
155 | 133 |
156 = note: defining type: DefId(0:30 ~ projection_one_region_trait_bound_closure[317d]::elements_outlive[0]) with substs [ 134 = note: defining type: elements_outlive::<'_#1r, '_#2r, T>
157 '_#1r,
158 '_#2r,
159 T,
160 ]
161 135
162note: External requirements 136note: External requirements
163 --> $DIR/projection-one-region-trait-bound-closure.rs:81:29 137 --> $DIR/projection-one-region-trait-bound-closure.rs:81:29
@@ -165,9 +139,7 @@ note: External requirements
165LL | with_signature(cell, t, |cell, t| require(cell, t)); 139LL | with_signature(cell, t, |cell, t| require(cell, t));
166 | ^^^^^^^^^^^^^^^^^^^^^^^^^^ 140 | ^^^^^^^^^^^^^^^^^^^^^^^^^^
167 | 141 |
168 = note: defining type: DefId(0:38 ~ projection_one_region_trait_bound_closure[317d]::one_region[0]::{{closure}}[0]) with closure substs [ 142 = note: defining type: one_region::<'_#1r, T>::{{closure}}#0 with closure substs [
169 '_#1r,
170 T,
171 i32, 143 i32,
172 extern "rust-call" fn((std::cell::Cell<&'_#2r ()>, T)), 144 extern "rust-call" fn((std::cell::Cell<&'_#2r ()>, T)),
173 ] 145 ]
@@ -186,10 +158,7 @@ LL | | with_signature(cell, t, |cell, t| require(cell, t));
186LL | | } 158LL | | }
187 | |_^ 159 | |_^
188 | 160 |
189 = note: defining type: DefId(0:35 ~ projection_one_region_trait_bound_closure[317d]::one_region[0]) with substs [ 161 = note: defining type: one_region::<'_#1r, T>
190 '_#1r,
191 T,
192 ]
193 162
194error: aborting due to 2 previous errors 163error: aborting due to 2 previous errors
195 164
diff --git a/src/test/ui/nll/ty-outlives/projection-one-region-trait-bound-static-closure.stderr b/src/test/ui/nll/ty-outlives/projection-one-region-trait-bound-static-closure.stderr
index 9cc2e50..2fb07b9 100644
--- a/src/test/ui/nll/ty-outlives/projection-one-region-trait-bound-static-closure.stderr
+++ b/src/test/ui/nll/ty-outlives/projection-one-region-trait-bound-static-closure.stderr
@@ -4,9 +4,7 @@ note: No external requirements
4LL | with_signature(cell, t, |cell, t| require(cell, t)); 4LL | with_signature(cell, t, |cell, t| require(cell, t));
5 | ^^^^^^^^^^^^^^^^^^^^^^^^^^ 5 | ^^^^^^^^^^^^^^^^^^^^^^^^^^
6 | 6 |
7 = note: defining type: DefId(0:19 ~ projection_one_region_trait_bound_static_closure[317d]::no_relationships_late[0]::{{closure}}[0]) with closure substs [ 7 = note: defining type: no_relationships_late::<'_#1r, T>::{{closure}}#0 with closure substs [
8 '_#1r,
9 T,
10 i32, 8 i32,
11 extern "rust-call" fn((std::cell::Cell<&'_#2r ()>, T)), 9 extern "rust-call" fn((std::cell::Cell<&'_#2r ()>, T)),
12 ] 10 ]
@@ -23,10 +21,7 @@ LL | | with_signature(cell, t, |cell, t| require(cell, t));
23LL | | } 21LL | | }
24 | |_^ 22 | |_^
25 | 23 |
26 = note: defining type: DefId(0:15 ~ projection_one_region_trait_bound_static_closure[317d]::no_relationships_late[0]) with substs [ 24 = note: defining type: no_relationships_late::<'_#1r, T>
27 '_#1r,
28 T,
29 ]
30 25
31note: No external requirements 26note: No external requirements
32 --> $DIR/projection-one-region-trait-bound-static-closure.rs:45:29 27 --> $DIR/projection-one-region-trait-bound-static-closure.rs:45:29
@@ -34,10 +29,7 @@ note: No external requirements
34LL | with_signature(cell, t, |cell, t| require(cell, t)); 29LL | with_signature(cell, t, |cell, t| require(cell, t));
35 | ^^^^^^^^^^^^^^^^^^^^^^^^^^ 30 | ^^^^^^^^^^^^^^^^^^^^^^^^^^
36 | 31 |
37 = note: defining type: DefId(0:24 ~ projection_one_region_trait_bound_static_closure[317d]::no_relationships_early[0]::{{closure}}[0]) with closure substs [ 32 = note: defining type: no_relationships_early::<'_#1r, '_#2r, T>::{{closure}}#0 with closure substs [
38 '_#1r,
39 '_#2r,
40 T,
41 i32, 33 i32,
42 extern "rust-call" fn((std::cell::Cell<&'_#3r ()>, T)), 34 extern "rust-call" fn((std::cell::Cell<&'_#3r ()>, T)),
43 ] 35 ]
@@ -54,11 +46,7 @@ LL | | with_signature(cell, t, |cell, t| require(cell, t));
54LL | | } 46LL | | }
55 | |_^ 47 | |_^
56 | 48 |
57 = note: defining type: DefId(0:20 ~ projection_one_region_trait_bound_static_closure[317d]::no_relationships_early[0]) with substs [ 49 = note: defining type: no_relationships_early::<'_#1r, '_#2r, T>
58 '_#1r,
59 '_#2r,
60 T,
61 ]
62 50
63note: No external requirements 51note: No external requirements
64 --> $DIR/projection-one-region-trait-bound-static-closure.rs:64:29 52 --> $DIR/projection-one-region-trait-bound-static-closure.rs:64:29
@@ -66,10 +54,7 @@ note: No external requirements
66LL | with_signature(cell, t, |cell, t| require(cell, t)); 54LL | with_signature(cell, t, |cell, t| require(cell, t));
67 | ^^^^^^^^^^^^^^^^^^^^^^^^^^ 55 | ^^^^^^^^^^^^^^^^^^^^^^^^^^
68 | 56 |
69 = note: defining type: DefId(0:29 ~ projection_one_region_trait_bound_static_closure[317d]::projection_outlives[0]::{{closure}}[0]) with closure substs [ 57 = note: defining type: projection_outlives::<'_#1r, '_#2r, T>::{{closure}}#0 with closure substs [
70 '_#1r,
71 '_#2r,
72 T,
73 i32, 58 i32,
74 extern "rust-call" fn((std::cell::Cell<&'_#3r ()>, T)), 59 extern "rust-call" fn((std::cell::Cell<&'_#3r ()>, T)),
75 ] 60 ]
@@ -86,11 +71,7 @@ LL | | with_signature(cell, t, |cell, t| require(cell, t));
86LL | | } 71LL | | }
87 | |_^ 72 | |_^
88 | 73 |
89 = note: defining type: DefId(0:25 ~ projection_one_region_trait_bound_static_closure[317d]::projection_outlives[0]) with substs [ 74 = note: defining type: projection_outlives::<'_#1r, '_#2r, T>
90 '_#1r,
91 '_#2r,
92 T,
93 ]
94 75
95note: No external requirements 76note: No external requirements
96 --> $DIR/projection-one-region-trait-bound-static-closure.rs:73:29 77 --> $DIR/projection-one-region-trait-bound-static-closure.rs:73:29
@@ -98,10 +79,7 @@ note: No external requirements
98LL | with_signature(cell, t, |cell, t| require(cell, t)); 79LL | with_signature(cell, t, |cell, t| require(cell, t));
99 | ^^^^^^^^^^^^^^^^^^^^^^^^^^ 80 | ^^^^^^^^^^^^^^^^^^^^^^^^^^
100 | 81 |
101 = note: defining type: DefId(0:34 ~ projection_one_region_trait_bound_static_closure[317d]::elements_outlive[0]::{{closure}}[0]) with closure substs [ 82 = note: defining type: elements_outlive::<'_#1r, '_#2r, T>::{{closure}}#0 with closure substs [
102 '_#1r,
103 '_#2r,
104 T,
105 i32, 83 i32,
106 extern "rust-call" fn((std::cell::Cell<&'_#3r ()>, T)), 84 extern "rust-call" fn((std::cell::Cell<&'_#3r ()>, T)),
107 ] 85 ]
@@ -118,11 +96,7 @@ LL | | with_signature(cell, t, |cell, t| require(cell, t));
118LL | | } 96LL | | }
119 | |_^ 97 | |_^
120 | 98 |
121 = note: defining type: DefId(0:30 ~ projection_one_region_trait_bound_static_closure[317d]::elements_outlive[0]) with substs [ 99 = note: defining type: elements_outlive::<'_#1r, '_#2r, T>
122 '_#1r,
123 '_#2r,
124 T,
125 ]
126 100
127note: No external requirements 101note: No external requirements
128 --> $DIR/projection-one-region-trait-bound-static-closure.rs:85:29 102 --> $DIR/projection-one-region-trait-bound-static-closure.rs:85:29
@@ -130,9 +104,7 @@ note: No external requirements
130LL | with_signature(cell, t, |cell, t| require(cell, t)); 104LL | with_signature(cell, t, |cell, t| require(cell, t));
131 | ^^^^^^^^^^^^^^^^^^^^^^^^^^ 105 | ^^^^^^^^^^^^^^^^^^^^^^^^^^
132 | 106 |
133 = note: defining type: DefId(0:38 ~ projection_one_region_trait_bound_static_closure[317d]::one_region[0]::{{closure}}[0]) with closure substs [ 107 = note: defining type: one_region::<'_#1r, T>::{{closure}}#0 with closure substs [
134 '_#1r,
135 T,
136 i32, 108 i32,
137 extern "rust-call" fn((std::cell::Cell<&'_#2r ()>, T)), 109 extern "rust-call" fn((std::cell::Cell<&'_#2r ()>, T)),
138 ] 110 ]
@@ -149,8 +121,5 @@ LL | | with_signature(cell, t, |cell, t| require(cell, t));
149LL | | } 121LL | | }
150 | |_^ 122 | |_^
151 | 123 |
152 = note: defining type: DefId(0:35 ~ projection_one_region_trait_bound_static_closure[317d]::one_region[0]) with substs [ 124 = note: defining type: one_region::<'_#1r, T>
153 '_#1r,
154 T,
155 ]
156 125
diff --git a/src/test/ui/nll/ty-outlives/projection-two-region-trait-bound-closure.stderr b/src/test/ui/nll/ty-outlives/projection-two-region-trait-bound-closure.stderr
index ed548a3..72c60ee 100644
--- a/src/test/ui/nll/ty-outlives/projection-two-region-trait-bound-closure.stderr
+++ b/src/test/ui/nll/ty-outlives/projection-two-region-trait-bound-closure.stderr
@@ -4,10 +4,7 @@ note: External requirements
4LL | with_signature(cell, t, |cell, t| require(cell, t)); 4LL | with_signature(cell, t, |cell, t| require(cell, t));
5 | ^^^^^^^^^^^^^^^^^^^^^^^^^^ 5 | ^^^^^^^^^^^^^^^^^^^^^^^^^^
6 | 6 |
7 = note: defining type: DefId(0:22 ~ projection_two_region_trait_bound_closure[317d]::no_relationships_late[0]::{{closure}}[0]) with closure substs [ 7 = note: defining type: no_relationships_late::<'_#1r, '_#2r, T>::{{closure}}#0 with closure substs [
8 '_#1r,
9 '_#2r,
10 T,
11 i32, 8 i32,
12 extern "rust-call" fn((std::cell::Cell<&'_#3r ()>, T)), 9 extern "rust-call" fn((std::cell::Cell<&'_#3r ()>, T)),
13 ] 10 ]
@@ -27,11 +24,7 @@ LL | |
27LL | | } 24LL | | }
28 | |_^ 25 | |_^
29 | 26 |
30 = note: defining type: DefId(0:17 ~ projection_two_region_trait_bound_closure[317d]::no_relationships_late[0]) with substs [ 27 = note: defining type: no_relationships_late::<'_#1r, '_#2r, T>
31 '_#1r,
32 '_#2r,
33 T,
34 ]
35 28
36error[E0309]: the associated type `<T as Anything<'_#5r, '_#6r>>::AssocType` may not live long enough 29error[E0309]: the associated type `<T as Anything<'_#5r, '_#6r>>::AssocType` may not live long enough
37 --> $DIR/projection-two-region-trait-bound-closure.rs:38:29 30 --> $DIR/projection-two-region-trait-bound-closure.rs:38:29
@@ -47,11 +40,7 @@ note: External requirements
47LL | with_signature(cell, t, |cell, t| require(cell, t)); 40LL | with_signature(cell, t, |cell, t| require(cell, t));
48 | ^^^^^^^^^^^^^^^^^^^^^^^^^^ 41 | ^^^^^^^^^^^^^^^^^^^^^^^^^^
49 | 42 |
50 = note: defining type: DefId(0:28 ~ projection_two_region_trait_bound_closure[317d]::no_relationships_early[0]::{{closure}}[0]) with closure substs [ 43 = note: defining type: no_relationships_early::<'_#1r, '_#2r, '_#3r, T>::{{closure}}#0 with closure substs [
51 '_#1r,
52 '_#2r,
53 '_#3r,
54 T,
55 i32, 44 i32,
56 extern "rust-call" fn((std::cell::Cell<&'_#4r ()>, T)), 45 extern "rust-call" fn((std::cell::Cell<&'_#4r ()>, T)),
57 ] 46 ]
@@ -70,12 +59,7 @@ LL | |
70LL | | } 59LL | | }
71 | |_^ 60 | |_^
72 | 61 |
73 = note: defining type: DefId(0:23 ~ projection_two_region_trait_bound_closure[317d]::no_relationships_early[0]) with substs [ 62 = note: defining type: no_relationships_early::<'_#1r, '_#2r, '_#3r, T>
74 '_#1r,
75 '_#2r,
76 '_#3r,
77 T,
78 ]
79 63
80error[E0309]: the associated type `<T as Anything<'_#6r, '_#7r>>::AssocType` may not live long enough 64error[E0309]: the associated type `<T as Anything<'_#6r, '_#7r>>::AssocType` may not live long enough
81 --> $DIR/projection-two-region-trait-bound-closure.rs:48:29 65 --> $DIR/projection-two-region-trait-bound-closure.rs:48:29
@@ -91,11 +75,7 @@ note: External requirements
91LL | with_signature(cell, t, |cell, t| require(cell, t)); 75LL | with_signature(cell, t, |cell, t| require(cell, t));
92 | ^^^^^^^^^^^^^^^^^^^^^^^^^^ 76 | ^^^^^^^^^^^^^^^^^^^^^^^^^^
93 | 77 |
94 = note: defining type: DefId(0:34 ~ projection_two_region_trait_bound_closure[317d]::projection_outlives[0]::{{closure}}[0]) with closure substs [ 78 = note: defining type: projection_outlives::<'_#1r, '_#2r, '_#3r, T>::{{closure}}#0 with closure substs [
95 '_#1r,
96 '_#2r,
97 '_#3r,
98 T,
99 i32, 79 i32,
100 extern "rust-call" fn((std::cell::Cell<&'_#4r ()>, T)), 80 extern "rust-call" fn((std::cell::Cell<&'_#4r ()>, T)),
101 ] 81 ]
@@ -114,12 +94,7 @@ LL | | with_signature(cell, t, |cell, t| require(cell, t));
114LL | | } 94LL | | }
115 | |_^ 95 | |_^
116 | 96 |
117 = note: defining type: DefId(0:29 ~ projection_two_region_trait_bound_closure[317d]::projection_outlives[0]) with substs [ 97 = note: defining type: projection_outlives::<'_#1r, '_#2r, '_#3r, T>
118 '_#1r,
119 '_#2r,
120 '_#3r,
121 T,
122 ]
123 98
124note: External requirements 99note: External requirements
125 --> $DIR/projection-two-region-trait-bound-closure.rs:70:29 100 --> $DIR/projection-two-region-trait-bound-closure.rs:70:29
@@ -127,11 +102,7 @@ note: External requirements
127LL | with_signature(cell, t, |cell, t| require(cell, t)); 102LL | with_signature(cell, t, |cell, t| require(cell, t));
128 | ^^^^^^^^^^^^^^^^^^^^^^^^^^ 103 | ^^^^^^^^^^^^^^^^^^^^^^^^^^
129 | 104 |
130 = note: defining type: DefId(0:40 ~ projection_two_region_trait_bound_closure[317d]::elements_outlive1[0]::{{closure}}[0]) with closure substs [ 105 = note: defining type: elements_outlive1::<'_#1r, '_#2r, '_#3r, T>::{{closure}}#0 with closure substs [
131 '_#1r,
132 '_#2r,
133 '_#3r,
134 T,
135 i32, 106 i32,
136 extern "rust-call" fn((std::cell::Cell<&'_#4r ()>, T)), 107 extern "rust-call" fn((std::cell::Cell<&'_#4r ()>, T)),
137 ] 108 ]
@@ -150,12 +121,7 @@ LL | | with_signature(cell, t, |cell, t| require(cell, t));
150LL | | } 121LL | | }
151 | |_^ 122 | |_^
152 | 123 |
153 = note: defining type: DefId(0:35 ~ projection_two_region_trait_bound_closure[317d]::elements_outlive1[0]) with substs [ 124 = note: defining type: elements_outlive1::<'_#1r, '_#2r, '_#3r, T>
154 '_#1r,
155 '_#2r,
156 '_#3r,
157 T,
158 ]
159 125
160note: External requirements 126note: External requirements
161 --> $DIR/projection-two-region-trait-bound-closure.rs:79:29 127 --> $DIR/projection-two-region-trait-bound-closure.rs:79:29
@@ -163,11 +129,7 @@ note: External requirements
163LL | with_signature(cell, t, |cell, t| require(cell, t)); 129LL | with_signature(cell, t, |cell, t| require(cell, t));
164 | ^^^^^^^^^^^^^^^^^^^^^^^^^^ 130 | ^^^^^^^^^^^^^^^^^^^^^^^^^^
165 | 131 |
166 = note: defining type: DefId(0:46 ~ projection_two_region_trait_bound_closure[317d]::elements_outlive2[0]::{{closure}}[0]) with closure substs [ 132 = note: defining type: elements_outlive2::<'_#1r, '_#2r, '_#3r, T>::{{closure}}#0 with closure substs [
167 '_#1r,
168 '_#2r,
169 '_#3r,
170 T,
171 i32, 133 i32,
172 extern "rust-call" fn((std::cell::Cell<&'_#4r ()>, T)), 134 extern "rust-call" fn((std::cell::Cell<&'_#4r ()>, T)),
173 ] 135 ]
@@ -186,12 +148,7 @@ LL | | with_signature(cell, t, |cell, t| require(cell, t));
186LL | | } 148LL | | }
187 | |_^ 149 | |_^
188 | 150 |
189 = note: defining type: DefId(0:41 ~ projection_two_region_trait_bound_closure[317d]::elements_outlive2[0]) with substs [ 151 = note: defining type: elements_outlive2::<'_#1r, '_#2r, '_#3r, T>
190 '_#1r,
191 '_#2r,
192 '_#3r,
193 T,
194 ]
195 152
196note: External requirements 153note: External requirements
197 --> $DIR/projection-two-region-trait-bound-closure.rs:87:29 154 --> $DIR/projection-two-region-trait-bound-closure.rs:87:29
@@ -199,9 +156,7 @@ note: External requirements
199LL | with_signature(cell, t, |cell, t| require(cell, t)); 156LL | with_signature(cell, t, |cell, t| require(cell, t));
200 | ^^^^^^^^^^^^^^^^^^^^^^^^^^ 157 | ^^^^^^^^^^^^^^^^^^^^^^^^^^
201 | 158 |
202 = note: defining type: DefId(0:51 ~ projection_two_region_trait_bound_closure[317d]::two_regions[0]::{{closure}}[0]) with closure substs [ 159 = note: defining type: two_regions::<'_#1r, T>::{{closure}}#0 with closure substs [
203 '_#1r,
204 T,
205 i32, 160 i32,
206 extern "rust-call" fn((std::cell::Cell<&'_#2r ()>, T)), 161 extern "rust-call" fn((std::cell::Cell<&'_#2r ()>, T)),
207 ] 162 ]
@@ -221,10 +176,7 @@ LL | |
221LL | | } 176LL | | }
222 | |_^ 177 | |_^
223 | 178 |
224 = note: defining type: DefId(0:47 ~ projection_two_region_trait_bound_closure[317d]::two_regions[0]) with substs [ 179 = note: defining type: two_regions::<'_#1r, T>
225 '_#1r,
226 T,
227 ]
228 180
229error: lifetime may not live long enough 181error: lifetime may not live long enough
230 --> $DIR/projection-two-region-trait-bound-closure.rs:87:29 182 --> $DIR/projection-two-region-trait-bound-closure.rs:87:29
@@ -245,10 +197,7 @@ note: External requirements
245LL | with_signature(cell, t, |cell, t| require(cell, t)); 197LL | with_signature(cell, t, |cell, t| require(cell, t));
246 | ^^^^^^^^^^^^^^^^^^^^^^^^^^ 198 | ^^^^^^^^^^^^^^^^^^^^^^^^^^
247 | 199 |
248 = note: defining type: DefId(0:56 ~ projection_two_region_trait_bound_closure[317d]::two_regions_outlive[0]::{{closure}}[0]) with closure substs [ 200 = note: defining type: two_regions_outlive::<'_#1r, '_#2r, T>::{{closure}}#0 with closure substs [
249 '_#1r,
250 '_#2r,
251 T,
252 i32, 201 i32,
253 extern "rust-call" fn((std::cell::Cell<&'_#3r ()>, T)), 202 extern "rust-call" fn((std::cell::Cell<&'_#3r ()>, T)),
254 ] 203 ]
@@ -267,11 +216,7 @@ LL | | with_signature(cell, t, |cell, t| require(cell, t));
267LL | | } 216LL | | }
268 | |_^ 217 | |_^
269 | 218 |
270 = note: defining type: DefId(0:52 ~ projection_two_region_trait_bound_closure[317d]::two_regions_outlive[0]) with substs [ 219 = note: defining type: two_regions_outlive::<'_#1r, '_#2r, T>
271 '_#1r,
272 '_#2r,
273 T,
274 ]
275 220
276note: External requirements 221note: External requirements
277 --> $DIR/projection-two-region-trait-bound-closure.rs:109:29 222 --> $DIR/projection-two-region-trait-bound-closure.rs:109:29
@@ -279,9 +224,7 @@ note: External requirements
279LL | with_signature(cell, t, |cell, t| require(cell, t)); 224LL | with_signature(cell, t, |cell, t| require(cell, t));
280 | ^^^^^^^^^^^^^^^^^^^^^^^^^^ 225 | ^^^^^^^^^^^^^^^^^^^^^^^^^^
281 | 226 |
282 = note: defining type: DefId(0:60 ~ projection_two_region_trait_bound_closure[317d]::one_region[0]::{{closure}}[0]) with closure substs [ 227 = note: defining type: one_region::<'_#1r, T>::{{closure}}#0 with closure substs [
283 '_#1r,
284 T,
285 i32, 228 i32,
286 extern "rust-call" fn((std::cell::Cell<&'_#2r ()>, T)), 229 extern "rust-call" fn((std::cell::Cell<&'_#2r ()>, T)),
287 ] 230 ]
@@ -300,10 +243,7 @@ LL | | with_signature(cell, t, |cell, t| require(cell, t));
300LL | | } 243LL | | }
301 | |_^ 244 | |_^
302 | 245 |
303 = note: defining type: DefId(0:57 ~ projection_two_region_trait_bound_closure[317d]::one_region[0]) with substs [ 246 = note: defining type: one_region::<'_#1r, T>
304 '_#1r,
305 T,
306 ]
307 247
308error: aborting due to 3 previous errors 248error: aborting due to 3 previous errors
309 249
diff --git a/src/test/ui/nll/ty-outlives/ty-param-closure-approximate-lower-bound.stderr b/src/test/ui/nll/ty-outlives/ty-param-closure-approximate-lower-bound.stderr
index fd8d891..6478e50 100644
--- a/src/test/ui/nll/ty-outlives/ty-param-closure-approximate-lower-bound.stderr
+++ b/src/test/ui/nll/ty-outlives/ty-param-closure-approximate-lower-bound.stderr
@@ -4,8 +4,7 @@ note: External requirements
4LL | twice(cell, value, |a, b| invoke(a, b)); 4LL | twice(cell, value, |a, b| invoke(a, b));
5 | ^^^^^^^^^^^^^^^^^^^ 5 | ^^^^^^^^^^^^^^^^^^^
6 | 6 |
7 = note: defining type: DefId(0:11 ~ ty_param_closure_approximate_lower_bound[317d]::generic[0]::{{closure}}[0]) with closure substs [ 7 = note: defining type: generic::<T>::{{closure}}#0 with closure substs [
8 T,
9 i16, 8 i16,
10 for<'r, 's> extern "rust-call" fn((std::option::Option<std::cell::Cell<&'_#1r &ReLateBound(DebruijnIndex(0), BrNamed(crate0:DefIndex(0), 'r)) ()>>, &ReLateBound(DebruijnIndex(0), BrNamed(crate0:DefIndex(0), 's)) T)), 9 for<'r, 's> extern "rust-call" fn((std::option::Option<std::cell::Cell<&'_#1r &ReLateBound(DebruijnIndex(0), BrNamed(crate0:DefIndex(0), 'r)) ()>>, &ReLateBound(DebruijnIndex(0), BrNamed(crate0:DefIndex(0), 's)) T)),
11 ] 10 ]
@@ -21,9 +20,7 @@ LL | | twice(cell, value, |a, b| invoke(a, b));
21LL | | } 20LL | | }
22 | |_^ 21 | |_^
23 | 22 |
24 = note: defining type: DefId(0:9 ~ ty_param_closure_approximate_lower_bound[317d]::generic[0]) with substs [ 23 = note: defining type: generic::<T>
25 T,
26 ]
27 24
28note: External requirements 25note: External requirements
29 --> $DIR/ty-param-closure-approximate-lower-bound.rs:29:24 26 --> $DIR/ty-param-closure-approximate-lower-bound.rs:29:24
@@ -31,8 +28,7 @@ note: External requirements
31LL | twice(cell, value, |a, b| invoke(a, b)); 28LL | twice(cell, value, |a, b| invoke(a, b));
32 | ^^^^^^^^^^^^^^^^^^^ 29 | ^^^^^^^^^^^^^^^^^^^
33 | 30 |
34 = note: defining type: DefId(0:15 ~ ty_param_closure_approximate_lower_bound[317d]::generic_fail[0]::{{closure}}[0]) with closure substs [ 31 = note: defining type: generic_fail::<T>::{{closure}}#0 with closure substs [
35 T,
36 i16, 32 i16,
37 for<'r, 's> extern "rust-call" fn((std::option::Option<std::cell::Cell<&'_#1r &ReLateBound(DebruijnIndex(0), BrNamed(crate0:DefIndex(0), 'r)) ()>>, &ReLateBound(DebruijnIndex(0), BrNamed(crate0:DefIndex(0), 's)) T)), 33 for<'r, 's> extern "rust-call" fn((std::option::Option<std::cell::Cell<&'_#1r &ReLateBound(DebruijnIndex(0), BrNamed(crate0:DefIndex(0), 'r)) ()>>, &ReLateBound(DebruijnIndex(0), BrNamed(crate0:DefIndex(0), 's)) T)),
38 ] 34 ]
@@ -49,9 +45,7 @@ LL | |
49LL | | } 45LL | | }
50 | |_^ 46 | |_^
51 | 47 |
52 = note: defining type: DefId(0:12 ~ ty_param_closure_approximate_lower_bound[317d]::generic_fail[0]) with substs [ 48 = note: defining type: generic_fail::<T>
53 T,
54 ]
55 49
56error[E0309]: the parameter type `T` may not live long enough 50error[E0309]: the parameter type `T` may not live long enough
57 --> $DIR/ty-param-closure-approximate-lower-bound.rs:29:24 51 --> $DIR/ty-param-closure-approximate-lower-bound.rs:29:24
diff --git a/src/test/ui/nll/ty-outlives/ty-param-closure-outlives-from-return-type.stderr b/src/test/ui/nll/ty-outlives/ty-param-closure-outlives-from-return-type.stderr
index 7c8dc94..0021d73 100644
--- a/src/test/ui/nll/ty-outlives/ty-param-closure-outlives-from-return-type.stderr
+++ b/src/test/ui/nll/ty-outlives/ty-param-closure-outlives-from-return-type.stderr
@@ -4,9 +4,7 @@ note: External requirements
4LL | with_signature(x, |y| y) 4LL | with_signature(x, |y| y)
5 | ^^^^^ 5 | ^^^^^
6 | 6 |
7 = note: defining type: DefId(0:11 ~ ty_param_closure_outlives_from_return_type[317d]::no_region[0]::{{closure}}[0]) with closure substs [ 7 = note: defining type: no_region::<'_#1r, T>::{{closure}}#0 with closure substs [
8 '_#1r,
9 T,
10 i32, 8 i32,
11 extern "rust-call" fn((std::boxed::Box<T>,)) -> std::boxed::Box<(dyn std::fmt::Debug + '_#2r)>, 9 extern "rust-call" fn((std::boxed::Box<T>,)) -> std::boxed::Box<(dyn std::fmt::Debug + '_#2r)>,
12 ] 10 ]
@@ -25,10 +23,7 @@ LL | |
25LL | | } 23LL | | }
26 | |_^ 24 | |_^
27 | 25 |
28 = note: defining type: DefId(0:8 ~ ty_param_closure_outlives_from_return_type[317d]::no_region[0]) with substs [ 26 = note: defining type: no_region::<'_#1r, T>
29 '_#1r,
30 T,
31 ]
32 27
33error[E0309]: the parameter type `T` may not live long enough 28error[E0309]: the parameter type `T` may not live long enough
34 --> $DIR/ty-param-closure-outlives-from-return-type.rs:26:23 29 --> $DIR/ty-param-closure-outlives-from-return-type.rs:26:23
diff --git a/src/test/ui/nll/ty-outlives/ty-param-closure-outlives-from-where-clause.stderr b/src/test/ui/nll/ty-outlives/ty-param-closure-outlives-from-where-clause.stderr
index 97b84d1..4383ad4 100644
--- a/src/test/ui/nll/ty-outlives/ty-param-closure-outlives-from-where-clause.stderr
+++ b/src/test/ui/nll/ty-outlives/ty-param-closure-outlives-from-where-clause.stderr
@@ -11,8 +11,7 @@ LL | | require(&x, &y)
11LL | | }) 11LL | | })
12 | |_____^ 12 | |_____^
13 | 13 |
14 = note: defining type: DefId(0:14 ~ ty_param_closure_outlives_from_where_clause[317d]::no_region[0]::{{closure}}[0]) with closure substs [ 14 = note: defining type: no_region::<T>::{{closure}}#0 with closure substs [
15 T,
16 i32, 15 i32,
17 extern "rust-call" fn((std::cell::Cell<&'_#1r ()>, T)), 16 extern "rust-call" fn((std::cell::Cell<&'_#1r ()>, T)),
18 ] 17 ]
@@ -32,9 +31,7 @@ LL | | })
32LL | | } 31LL | | }
33 | |_^ 32 | |_^
34 | 33 |
35 = note: defining type: DefId(0:11 ~ ty_param_closure_outlives_from_where_clause[317d]::no_region[0]) with substs [ 34 = note: defining type: no_region::<T>
36 T,
37 ]
38 35
39error[E0309]: the parameter type `T` may not live long enough 36error[E0309]: the parameter type `T` may not live long enough
40 --> $DIR/ty-param-closure-outlives-from-where-clause.rs:27:26 37 --> $DIR/ty-param-closure-outlives-from-where-clause.rs:27:26
@@ -64,9 +61,7 @@ LL | | require(&x, &y)
64LL | | }) 61LL | | })
65 | |_____^ 62 | |_____^
66 | 63 |
67 = note: defining type: DefId(0:18 ~ ty_param_closure_outlives_from_where_clause[317d]::correct_region[0]::{{closure}}[0]) with closure substs [ 64 = note: defining type: correct_region::<'_#1r, T>::{{closure}}#0 with closure substs [
68 '_#1r,
69 T,
70 i32, 65 i32,
71 extern "rust-call" fn((std::cell::Cell<&'_#2r ()>, T)), 66 extern "rust-call" fn((std::cell::Cell<&'_#2r ()>, T)),
72 ] 67 ]
@@ -85,10 +80,7 @@ LL | | })
85LL | | } 80LL | | }
86 | |_^ 81 | |_^
87 | 82 |
88 = note: defining type: DefId(0:15 ~ ty_param_closure_outlives_from_where_clause[317d]::correct_region[0]) with substs [ 83 = note: defining type: correct_region::<'_#1r, T>
89 '_#1r,
90 T,
91 ]
92 84
93note: External requirements 85note: External requirements
94 --> $DIR/ty-param-closure-outlives-from-where-clause.rs:64:26 86 --> $DIR/ty-param-closure-outlives-from-where-clause.rs:64:26
@@ -101,9 +93,7 @@ LL | | require(&x, &y)
101LL | | }) 93LL | | })
102 | |_____^ 94 | |_____^
103 | 95 |
104 = note: defining type: DefId(0:23 ~ ty_param_closure_outlives_from_where_clause[317d]::wrong_region[0]::{{closure}}[0]) with closure substs [ 96 = note: defining type: wrong_region::<'_#1r, T>::{{closure}}#0 with closure substs [
105 '_#1r,
106 T,
107 i32, 97 i32,
108 extern "rust-call" fn((std::cell::Cell<&'_#2r ()>, T)), 98 extern "rust-call" fn((std::cell::Cell<&'_#2r ()>, T)),
109 ] 99 ]
@@ -123,10 +113,7 @@ LL | | })
123LL | | } 113LL | | }
124 | |_^ 114 | |_^
125 | 115 |
126 = note: defining type: DefId(0:19 ~ ty_param_closure_outlives_from_where_clause[317d]::wrong_region[0]) with substs [ 116 = note: defining type: wrong_region::<'_#1r, T>
127 '_#1r,
128 T,
129 ]
130 117
131error[E0309]: the parameter type `T` may not live long enough 118error[E0309]: the parameter type `T` may not live long enough
132 --> $DIR/ty-param-closure-outlives-from-where-clause.rs:64:26 119 --> $DIR/ty-param-closure-outlives-from-where-clause.rs:64:26
@@ -151,10 +138,7 @@ LL | | require(&x, &y)
151LL | | }) 138LL | | })
152 | |_____^ 139 | |_____^
153 | 140 |
154 = note: defining type: DefId(0:28 ~ ty_param_closure_outlives_from_where_clause[317d]::outlives_region[0]::{{closure}}[0]) with closure substs [ 141 = note: defining type: outlives_region::<'_#1r, '_#2r, T>::{{closure}}#0 with closure substs [
155 '_#1r,
156 '_#2r,
157 T,
158 i32, 142 i32,
159 extern "rust-call" fn((std::cell::Cell<&'_#3r ()>, T)), 143 extern "rust-call" fn((std::cell::Cell<&'_#3r ()>, T)),
160 ] 144 ]
@@ -173,11 +157,7 @@ LL | | })
173LL | | } 157LL | | }
174 | |_^ 158 | |_^
175 | 159 |
176 = note: defining type: DefId(0:24 ~ ty_param_closure_outlives_from_where_clause[317d]::outlives_region[0]) with substs [ 160 = note: defining type: outlives_region::<'_#1r, '_#2r, T>
177 '_#1r,
178 '_#2r,
179 T,
180 ]
181 161
182error: aborting due to 2 previous errors 162error: aborting due to 2 previous errors
183 163