1 warning: not reporting region error due to -Znll
2 --> $DIR/ty-param-closure-outlives-from-where-clause.rs:45:9
7 warning: not reporting region error due to -Znll
8 --> $DIR/ty-param-closure-outlives-from-where-clause.rs:79:9
13 note: External requirements
14 --> $DIR/ty-param-closure-outlives-from-where-clause.rs:38:26
16 LL | with_signature(a, b, |x, y| {
17 | __________________________^
18 LL | | //~^ ERROR the parameter type `T` may not live long enough
20 LL | | // See `correct_region`, which explains the point of this
22 LL | | //~^ WARNING not reporting region error due to -Znll
26 = note: defining type: DefId(0/1:16 ~ ty_param_closure_outlives_from_where_clause[317d]::no_region[0]::{{closure}}[0]) with closure substs [
29 extern "rust-call" fn((std::cell::Cell<&'_#1r ()>, T))
31 = note: number of external vids: 2
32 = note: where T: '_#1r
34 error[E0309]: the parameter type `T` may not live long enough
35 --> $DIR/ty-param-closure-outlives-from-where-clause.rs:38:26
37 LL | with_signature(a, b, |x, y| {
38 | __________________________^
39 LL | | //~^ ERROR the parameter type `T` may not live long enough
41 LL | | // See `correct_region`, which explains the point of this
43 LL | | //~^ WARNING not reporting region error due to -Znll
47 = help: consider adding an explicit lifetime bound `T: ReFree(DefId(0/0:6 ~ ty_param_closure_outlives_from_where_clause[317d]::no_region[0]), BrNamed(crate0:DefIndex(1:14), 'a))`...
49 note: No external requirements
50 --> $DIR/ty-param-closure-outlives-from-where-clause.rs:37:1
52 LL | / fn no_region<'a, T>(a: Cell<&'a ()>, b: T) {
53 LL | | with_signature(a, b, |x, y| {
54 LL | | //~^ ERROR the parameter type `T` may not live long enough
61 = note: defining type: DefId(0/0:6 ~ ty_param_closure_outlives_from_where_clause[317d]::no_region[0]) with substs [
65 note: External requirements
66 --> $DIR/ty-param-closure-outlives-from-where-clause.rs:55:26
68 LL | with_signature(a, b, |x, y| {
69 | __________________________^
70 LL | | // Key point of this test:
72 LL | | // The *closure* is being type-checked with all of its free
74 LL | | require(&x, &y)
78 = note: defining type: DefId(0/1:19 ~ ty_param_closure_outlives_from_where_clause[317d]::correct_region[0]::{{closure}}[0]) with closure substs [
82 extern "rust-call" fn((std::cell::Cell<&'_#2r ()>, T))
84 = note: number of external vids: 3
85 = note: where T: '_#2r
87 note: No external requirements
88 --> $DIR/ty-param-closure-outlives-from-where-clause.rs:51:1
90 LL | / fn correct_region<'a, T>(a: Cell<&'a ()>, b: T)
99 = note: defining type: DefId(0/0:7 ~ ty_param_closure_outlives_from_where_clause[317d]::correct_region[0]) with substs [
104 note: External requirements
105 --> $DIR/ty-param-closure-outlives-from-where-clause.rs:76:26
107 LL | with_signature(a, b, |x, y| {
108 | __________________________^
109 LL | | //~^ ERROR the parameter type `T` may not live long enough
110 LL | | // See `correct_region`
111 LL | | require(&x, &y)
112 LL | | //~^ WARNING not reporting region error due to -Znll
116 = note: defining type: DefId(0/1:23 ~ ty_param_closure_outlives_from_where_clause[317d]::wrong_region[0]::{{closure}}[0]) with closure substs [
120 extern "rust-call" fn((std::cell::Cell<&'_#2r ()>, T))
122 = note: number of external vids: 3
123 = note: where T: '_#2r
125 error[E0309]: the parameter type `T` may not live long enough
126 --> $DIR/ty-param-closure-outlives-from-where-clause.rs:76:26
128 LL | with_signature(a, b, |x, y| {
129 | __________________________^
130 LL | | //~^ ERROR the parameter type `T` may not live long enough
131 LL | | // See `correct_region`
132 LL | | require(&x, &y)
133 LL | | //~^ WARNING not reporting region error due to -Znll
137 = help: consider adding an explicit lifetime bound `T: ReFree(DefId(0/0:8 ~ ty_param_closure_outlives_from_where_clause[317d]::wrong_region[0]), BrNamed(crate0:DefIndex(1:20), 'a))`...
139 note: No external requirements
140 --> $DIR/ty-param-closure-outlives-from-where-clause.rs:72:1
142 LL | / fn wrong_region<'a, 'b, T>(a: Cell<&'a ()>, b: T)
151 = note: defining type: DefId(0/0:8 ~ ty_param_closure_outlives_from_where_clause[317d]::wrong_region[0]) with substs [
156 note: External requirements
157 --> $DIR/ty-param-closure-outlives-from-where-clause.rs:90:26
159 LL | with_signature(a, b, |x, y| {
160 | __________________________^
161 LL | | // See `correct_region`
162 LL | | require(&x, &y)
166 = note: defining type: DefId(0/1:27 ~ ty_param_closure_outlives_from_where_clause[317d]::outlives_region[0]::{{closure}}[0]) with closure substs [
171 extern "rust-call" fn((std::cell::Cell<&'_#3r ()>, T))
173 = note: number of external vids: 4
174 = note: where T: '_#3r
176 note: No external requirements
177 --> $DIR/ty-param-closure-outlives-from-where-clause.rs:85:1
179 LL | / fn outlives_region<'a, 'b, T>(a: Cell<&'a ()>, b: T)
188 = note: defining type: DefId(0/0:9 ~ ty_param_closure_outlives_from_where_clause[317d]::outlives_region[0]) with substs [
194 error: aborting due to 2 previous errors
196 For more information about this error, try `rustc --explain E0309`.