Rollup merge of #69968 - eddyb:tupled-closure-captures, r=nikomatsakis
rustc: keep upvars tupled in {Closure,Generator}Substs.
Previously, each closure/generator capture's (aka "upvar") type was tracked as one "synthetic" type parameter in the closure/generator substs, and figuring out where the parent `fn`'s generics end and the synthetics start involved slicing at `tcx.generics_of(def_id).parent_count`.
Needing to query `generics_of` limited @davidtwco (who wants to compute some `TypeFlags` differently for parent generics vs upvars, and `TyCtxt` is not available there), which is how I got started on this, but it's also possible that the `generics_of` queries are slowing down `{Closure,Generator}Substs` methods.
To give an example, for a `foo::<T, U>::{closure#0}` with captures `x: X` and `y: Y`, substs are:
* before this PR: `[T, U, /*kind*/, /*signature*/, X, Y]`
* after this PR: `[T, U, /*kind*/, /*signature*/, (X, Y)]`
You can see that, with this PR, no matter how many captures, the last 3 entries in the substs (or 5 for a generator) are always the "synthetic" ones, with the last one being the tuple of capture types.
r? @nikomatsakis cc @Zoxc
This commit is contained in:
commit
bee074f032
65 changed files with 356 additions and 367 deletions
|
|
@ -8,7 +8,7 @@ LL | | a.matches(f)
|
|||
LL | | }
|
||||
| |_____^
|
||||
|
|
||||
= note: consider adding a `#![type_length_limit="26214380"]` attribute to your crate
|
||||
= note: consider adding a `#![type_length_limit="30408681"]` attribute to your crate
|
||||
|
||||
error: aborting due to previous error
|
||||
|
||||
|
|
|
|||
|
|
@ -7,6 +7,7 @@ LL | let mut closure = expect_sig(|p, y| *p = y);
|
|||
= note: defining type: test::{{closure}}#0 with closure substs [
|
||||
i16,
|
||||
for<'r, 's, 't0> extern "rust-call" fn((&ReLateBound(DebruijnIndex(0), BrNamed('r)) mut &ReLateBound(DebruijnIndex(0), BrNamed('s)) i32, &ReLateBound(DebruijnIndex(0), BrNamed('t0)) i32)),
|
||||
(),
|
||||
]
|
||||
|
||||
error: lifetime may not live long enough
|
||||
|
|
|
|||
|
|
@ -7,6 +7,7 @@ LL | let mut closure = expect_sig(|p, y| *p = y);
|
|||
= note: defining type: test::{{closure}}#0 with closure substs [
|
||||
i16,
|
||||
for<'r, 's> extern "rust-call" fn((&ReLateBound(DebruijnIndex(0), BrNamed('r)) mut &ReLateBound(DebruijnIndex(0), BrNamed('s)) i32, &ReLateBound(DebruijnIndex(0), BrNamed('s)) i32)),
|
||||
(),
|
||||
]
|
||||
|
||||
note: no external requirements
|
||||
|
|
|
|||
|
|
@ -7,8 +7,7 @@ LL | let mut closure1 = || p = &y;
|
|||
= note: defining type: test::{{closure}}#0::{{closure}}#0 with closure substs [
|
||||
i16,
|
||||
extern "rust-call" fn(()),
|
||||
&'_#1r i32,
|
||||
&'_#2r mut &'_#3r i32,
|
||||
(&'_#1r i32, &'_#2r mut &'_#3r i32),
|
||||
]
|
||||
= note: number of external vids: 4
|
||||
= note: where '_#1r: '_#3r
|
||||
|
|
@ -26,8 +25,7 @@ LL | | };
|
|||
= note: defining type: test::{{closure}}#0 with closure substs [
|
||||
i16,
|
||||
extern "rust-call" fn(()),
|
||||
&'_#1r i32,
|
||||
&'_#2r mut &'_#3r i32,
|
||||
(&'_#1r i32, &'_#2r mut &'_#3r i32),
|
||||
]
|
||||
= note: number of external vids: 4
|
||||
= note: where '_#1r: '_#3r
|
||||
|
|
|
|||
|
|
@ -7,8 +7,7 @@ LL | let mut closure = || p = &y;
|
|||
= note: defining type: test::{{closure}}#0 with closure substs [
|
||||
i16,
|
||||
extern "rust-call" fn(()),
|
||||
&'_#1r i32,
|
||||
&'_#2r mut &'_#3r i32,
|
||||
(&'_#1r i32, &'_#2r mut &'_#3r i32),
|
||||
]
|
||||
= note: number of external vids: 4
|
||||
= note: where '_#1r: '_#3r
|
||||
|
|
|
|||
|
|
@ -11,6 +11,7 @@ LL | | },
|
|||
= note: defining type: supply::{{closure}}#0 with closure substs [
|
||||
i16,
|
||||
for<'r, 's> extern "rust-call" fn((std::cell::Cell<&'_#1r &ReLateBound(DebruijnIndex(0), BrNamed('r)) u32>, std::cell::Cell<&'_#2r &ReLateBound(DebruijnIndex(0), BrNamed('r)) u32>, std::cell::Cell<&ReLateBound(DebruijnIndex(0), BrNamed('s)) &'_#3r u32>, std::cell::Cell<&ReLateBound(DebruijnIndex(0), BrNamed('r)) u32>, std::cell::Cell<&ReLateBound(DebruijnIndex(0), BrNamed('s)) u32>)),
|
||||
(),
|
||||
]
|
||||
= note: late-bound region is '_#4r
|
||||
= note: late-bound region is '_#5r
|
||||
|
|
|
|||
|
|
@ -12,6 +12,7 @@ LL | | });
|
|||
= note: defining type: supply::{{closure}}#0 with closure substs [
|
||||
i16,
|
||||
for<'r, 's, 't0, 't1, 't2, 't3> extern "rust-call" fn((&ReLateBound(DebruijnIndex(0), BrNamed('r)) std::cell::Cell<&'_#1r &ReLateBound(DebruijnIndex(0), BrNamed('s)) u32>, &ReLateBound(DebruijnIndex(0), BrNamed('t0)) std::cell::Cell<&ReLateBound(DebruijnIndex(0), BrNamed('t1)) &'_#2r u32>, &ReLateBound(DebruijnIndex(0), BrNamed('t2)) std::cell::Cell<&ReLateBound(DebruijnIndex(0), BrNamed('s)) u32>, &ReLateBound(DebruijnIndex(0), BrNamed('t3)) std::cell::Cell<&ReLateBound(DebruijnIndex(0), BrNamed('t1)) u32>)),
|
||||
(),
|
||||
]
|
||||
= note: late-bound region is '_#3r
|
||||
= note: late-bound region is '_#4r
|
||||
|
|
|
|||
|
|
@ -11,6 +11,7 @@ LL | | })
|
|||
= note: defining type: case1::{{closure}}#0 with closure substs [
|
||||
i32,
|
||||
for<'r> extern "rust-call" fn((std::cell::Cell<&'_#1r u32>, std::cell::Cell<&ReLateBound(DebruijnIndex(0), BrNamed('r)) u32>)),
|
||||
(),
|
||||
]
|
||||
|
||||
error[E0521]: borrowed data escapes outside of closure
|
||||
|
|
@ -49,6 +50,7 @@ LL | | })
|
|||
= note: defining type: case2::{{closure}}#0 with closure substs [
|
||||
i32,
|
||||
for<'r> extern "rust-call" fn((std::cell::Cell<&'_#1r u32>, std::cell::Cell<&ReLateBound(DebruijnIndex(0), BrNamed('r)) u32>)),
|
||||
(),
|
||||
]
|
||||
= note: number of external vids: 2
|
||||
= note: where '_#1r: '_#0r
|
||||
|
|
|
|||
|
|
@ -13,6 +13,7 @@ LL | | });
|
|||
= note: defining type: supply::{{closure}}#0 with closure substs [
|
||||
i16,
|
||||
for<'r, 's, 't0, 't1, 't2> extern "rust-call" fn((&ReLateBound(DebruijnIndex(0), BrNamed('r)) std::cell::Cell<&'_#1r &ReLateBound(DebruijnIndex(0), BrNamed('s)) u32>, &ReLateBound(DebruijnIndex(0), BrNamed('t0)) std::cell::Cell<&ReLateBound(DebruijnIndex(0), BrNamed('s)) u32>, &ReLateBound(DebruijnIndex(0), BrNamed('t1)) std::cell::Cell<&ReLateBound(DebruijnIndex(0), BrNamed('t2)) u32>)),
|
||||
(),
|
||||
]
|
||||
= note: late-bound region is '_#2r
|
||||
= note: late-bound region is '_#3r
|
||||
|
|
|
|||
|
|
@ -13,6 +13,7 @@ LL | | });
|
|||
= note: defining type: supply::{{closure}}#0 with closure substs [
|
||||
i16,
|
||||
for<'r, 's, 't0, 't1, 't2, 't3> extern "rust-call" fn((&ReLateBound(DebruijnIndex(0), BrNamed('r)) std::cell::Cell<&'_#1r &ReLateBound(DebruijnIndex(0), BrNamed('s)) u32>, &ReLateBound(DebruijnIndex(0), BrNamed('t0)) std::cell::Cell<&'_#2r &ReLateBound(DebruijnIndex(0), BrNamed('t1)) u32>, &ReLateBound(DebruijnIndex(0), BrNamed('t2)) std::cell::Cell<&ReLateBound(DebruijnIndex(0), BrNamed('s)) u32>, &ReLateBound(DebruijnIndex(0), BrNamed('t3)) std::cell::Cell<&ReLateBound(DebruijnIndex(0), BrNamed('t1)) u32>)),
|
||||
(),
|
||||
]
|
||||
= note: late-bound region is '_#3r
|
||||
= note: late-bound region is '_#4r
|
||||
|
|
|
|||
|
|
@ -12,6 +12,7 @@ LL | | });
|
|||
= note: defining type: test::{{closure}}#0 with closure substs [
|
||||
i16,
|
||||
for<'r, 's> extern "rust-call" fn((std::cell::Cell<&'_#1r &ReLateBound(DebruijnIndex(0), BrNamed('r)) u32>, std::cell::Cell<&ReLateBound(DebruijnIndex(0), BrNamed('s)) &'_#2r u32>, std::cell::Cell<&ReLateBound(DebruijnIndex(0), BrNamed('r)) u32>, std::cell::Cell<&ReLateBound(DebruijnIndex(0), BrNamed('s)) u32>)),
|
||||
(),
|
||||
]
|
||||
= note: late-bound region is '_#3r
|
||||
= note: late-bound region is '_#4r
|
||||
|
|
|
|||
|
|
@ -11,6 +11,7 @@ LL | | },
|
|||
= note: defining type: supply::{{closure}}#0 with closure substs [
|
||||
i16,
|
||||
for<'r, 's> extern "rust-call" fn((std::cell::Cell<&'_#1r &ReLateBound(DebruijnIndex(0), BrNamed('r)) u32>, std::cell::Cell<&ReLateBound(DebruijnIndex(0), BrNamed('s)) &'_#2r u32>, std::cell::Cell<&ReLateBound(DebruijnIndex(0), BrNamed('r)) u32>, std::cell::Cell<&ReLateBound(DebruijnIndex(0), BrNamed('s)) u32>)),
|
||||
(),
|
||||
]
|
||||
= note: late-bound region is '_#3r
|
||||
= note: number of external vids: 4
|
||||
|
|
|
|||
|
|
@ -12,6 +12,7 @@ LL | | });
|
|||
= note: defining type: supply::{{closure}}#0 with closure substs [
|
||||
i16,
|
||||
for<'r, 's, 't0, 't1, 't2> extern "rust-call" fn((&ReLateBound(DebruijnIndex(0), BrNamed('r)) std::cell::Cell<&ReLateBound(DebruijnIndex(0), BrNamed('s)) &'_#1r u32>, &ReLateBound(DebruijnIndex(0), BrNamed('t0)) std::cell::Cell<&ReLateBound(DebruijnIndex(0), BrNamed('t1)) u32>, &ReLateBound(DebruijnIndex(0), BrNamed('t2)) std::cell::Cell<&ReLateBound(DebruijnIndex(0), BrNamed('s)) u32>)),
|
||||
(),
|
||||
]
|
||||
= note: late-bound region is '_#2r
|
||||
= note: late-bound region is '_#3r
|
||||
|
|
|
|||
|
|
@ -12,6 +12,7 @@ LL | | });
|
|||
= note: defining type: supply::{{closure}}#0 with closure substs [
|
||||
i16,
|
||||
for<'r, 's, 't0, 't1, 't2, 't3> extern "rust-call" fn((&ReLateBound(DebruijnIndex(0), BrNamed('r)) std::cell::Cell<&ReLateBound(DebruijnIndex(0), BrNamed('s)) &'_#1r u32>, &ReLateBound(DebruijnIndex(0), BrNamed('t0)) std::cell::Cell<&ReLateBound(DebruijnIndex(0), BrNamed('t1)) &'_#2r u32>, &ReLateBound(DebruijnIndex(0), BrNamed('t2)) std::cell::Cell<&ReLateBound(DebruijnIndex(0), BrNamed('s)) u32>, &ReLateBound(DebruijnIndex(0), BrNamed('t3)) std::cell::Cell<&ReLateBound(DebruijnIndex(0), BrNamed('t1)) u32>)),
|
||||
(),
|
||||
]
|
||||
= note: late-bound region is '_#3r
|
||||
= note: late-bound region is '_#4r
|
||||
|
|
|
|||
|
|
@ -14,6 +14,7 @@ LL | | });
|
|||
= note: defining type: supply::<'_#1r, T>::{{closure}}#0 with closure substs [
|
||||
i32,
|
||||
extern "rust-call" fn((T,)),
|
||||
(),
|
||||
]
|
||||
= note: number of external vids: 2
|
||||
= note: where T: '_#1r
|
||||
|
|
|
|||
|
|
@ -7,6 +7,7 @@ LL | expect_sig(|a, b| b); // ought to return `a`
|
|||
= note: defining type: test::{{closure}}#0 with closure substs [
|
||||
i16,
|
||||
for<'r, 's> extern "rust-call" fn((&ReLateBound(DebruijnIndex(0), BrNamed('r)) i32, &ReLateBound(DebruijnIndex(0), BrNamed('s)) i32)) -> &ReLateBound(DebruijnIndex(0), BrNamed('r)) i32,
|
||||
(),
|
||||
]
|
||||
|
||||
error: lifetime may not live long enough
|
||||
|
|
|
|||
|
|
@ -7,6 +7,7 @@ LL | with_signature(x, |mut y| Box::new(y.next()))
|
|||
= note: defining type: no_region::<'_#1r, T>::{{closure}}#0 with closure substs [
|
||||
i32,
|
||||
extern "rust-call" fn((std::boxed::Box<T>,)) -> std::boxed::Box<(dyn Anything + '_#2r)>,
|
||||
(),
|
||||
]
|
||||
= note: number of external vids: 3
|
||||
= note: where <T as std::iter::Iterator>::Item: '_#2r
|
||||
|
|
@ -42,6 +43,7 @@ LL | with_signature(x, |mut y| Box::new(y.next()))
|
|||
= note: defining type: correct_region::<'_#1r, T>::{{closure}}#0 with closure substs [
|
||||
i32,
|
||||
extern "rust-call" fn((std::boxed::Box<T>,)) -> std::boxed::Box<(dyn Anything + '_#2r)>,
|
||||
(),
|
||||
]
|
||||
= note: number of external vids: 3
|
||||
= note: where <T as std::iter::Iterator>::Item: '_#2r
|
||||
|
|
@ -68,6 +70,7 @@ LL | with_signature(x, |mut y| Box::new(y.next()))
|
|||
= note: defining type: wrong_region::<'_#1r, '_#2r, T>::{{closure}}#0 with closure substs [
|
||||
i32,
|
||||
extern "rust-call" fn((std::boxed::Box<T>,)) -> std::boxed::Box<(dyn Anything + '_#3r)>,
|
||||
(),
|
||||
]
|
||||
= note: number of external vids: 4
|
||||
= note: where <T as std::iter::Iterator>::Item: '_#3r
|
||||
|
|
@ -103,6 +106,7 @@ LL | with_signature(x, |mut y| Box::new(y.next()))
|
|||
= note: defining type: outlives_region::<'_#1r, '_#2r, T>::{{closure}}#0 with closure substs [
|
||||
i32,
|
||||
extern "rust-call" fn((std::boxed::Box<T>,)) -> std::boxed::Box<(dyn Anything + '_#3r)>,
|
||||
(),
|
||||
]
|
||||
= note: number of external vids: 4
|
||||
= note: where <T as std::iter::Iterator>::Item: '_#3r
|
||||
|
|
|
|||
|
|
@ -7,6 +7,7 @@ LL | with_signature(cell, t, |cell, t| require(cell, t));
|
|||
= note: defining type: no_relationships_late::<'_#1r, T>::{{closure}}#0 with closure substs [
|
||||
i32,
|
||||
extern "rust-call" fn((std::cell::Cell<&'_#2r ()>, T)),
|
||||
(),
|
||||
]
|
||||
= note: late-bound region is '_#3r
|
||||
= note: number of external vids: 4
|
||||
|
|
@ -57,6 +58,7 @@ LL | with_signature(cell, t, |cell, t| require(cell, t));
|
|||
= note: defining type: no_relationships_early::<'_#1r, '_#2r, T>::{{closure}}#0 with closure substs [
|
||||
i32,
|
||||
extern "rust-call" fn((std::cell::Cell<&'_#3r ()>, T)),
|
||||
(),
|
||||
]
|
||||
= note: number of external vids: 4
|
||||
= note: where T: '_#3r
|
||||
|
|
@ -106,6 +108,7 @@ LL | with_signature(cell, t, |cell, t| require(cell, t));
|
|||
= note: defining type: projection_outlives::<'_#1r, '_#2r, T>::{{closure}}#0 with closure substs [
|
||||
i32,
|
||||
extern "rust-call" fn((std::cell::Cell<&'_#3r ()>, T)),
|
||||
(),
|
||||
]
|
||||
= note: number of external vids: 4
|
||||
= note: where <T as Anything<ReClosureBound('_#2r)>>::AssocType: '_#3r
|
||||
|
|
@ -133,6 +136,7 @@ LL | with_signature(cell, t, |cell, t| require(cell, t));
|
|||
= note: defining type: elements_outlive::<'_#1r, '_#2r, T>::{{closure}}#0 with closure substs [
|
||||
i32,
|
||||
extern "rust-call" fn((std::cell::Cell<&'_#3r ()>, T)),
|
||||
(),
|
||||
]
|
||||
= note: number of external vids: 4
|
||||
= note: where T: '_#3r
|
||||
|
|
|
|||
|
|
@ -7,6 +7,7 @@ LL | with_signature(cell, t, |cell, t| require(cell, t));
|
|||
= note: defining type: no_relationships_late::<'_#1r, T>::{{closure}}#0 with closure substs [
|
||||
i32,
|
||||
extern "rust-call" fn((std::cell::Cell<&'_#2r ()>, T)),
|
||||
(),
|
||||
]
|
||||
= note: late-bound region is '_#3r
|
||||
= note: number of external vids: 4
|
||||
|
|
@ -48,6 +49,7 @@ LL | with_signature(cell, t, |cell, t| require(cell, t));
|
|||
= note: defining type: no_relationships_early::<'_#1r, '_#2r, T>::{{closure}}#0 with closure substs [
|
||||
i32,
|
||||
extern "rust-call" fn((std::cell::Cell<&'_#3r ()>, T)),
|
||||
(),
|
||||
]
|
||||
= note: number of external vids: 4
|
||||
= note: where '_#2r: '_#3r
|
||||
|
|
@ -88,6 +90,7 @@ LL | with_signature(cell, t, |cell, t| require(cell, t));
|
|||
= note: defining type: projection_outlives::<'_#1r, '_#2r, T>::{{closure}}#0 with closure substs [
|
||||
i32,
|
||||
extern "rust-call" fn((std::cell::Cell<&'_#3r ()>, T)),
|
||||
(),
|
||||
]
|
||||
= note: number of external vids: 4
|
||||
= note: where <T as Anything<ReClosureBound('_#2r)>>::AssocType: '_#3r
|
||||
|
|
@ -115,6 +118,7 @@ LL | with_signature(cell, t, |cell, t| require(cell, t));
|
|||
= note: defining type: elements_outlive::<'_#1r, '_#2r, T>::{{closure}}#0 with closure substs [
|
||||
i32,
|
||||
extern "rust-call" fn((std::cell::Cell<&'_#3r ()>, T)),
|
||||
(),
|
||||
]
|
||||
= note: number of external vids: 4
|
||||
= note: where '_#2r: '_#3r
|
||||
|
|
@ -142,6 +146,7 @@ LL | with_signature(cell, t, |cell, t| require(cell, t));
|
|||
= note: defining type: one_region::<'_#1r, T>::{{closure}}#0 with closure substs [
|
||||
i32,
|
||||
extern "rust-call" fn((std::cell::Cell<&'_#2r ()>, T)),
|
||||
(),
|
||||
]
|
||||
= note: number of external vids: 3
|
||||
= note: where '_#1r: '_#2r
|
||||
|
|
|
|||
|
|
@ -7,6 +7,7 @@ LL | with_signature(cell, t, |cell, t| require(cell, t));
|
|||
= note: defining type: no_relationships_late::<'_#1r, T>::{{closure}}#0 with closure substs [
|
||||
i32,
|
||||
extern "rust-call" fn((std::cell::Cell<&'_#2r ()>, T)),
|
||||
(),
|
||||
]
|
||||
= note: late-bound region is '_#3r
|
||||
|
||||
|
|
@ -32,6 +33,7 @@ LL | with_signature(cell, t, |cell, t| require(cell, t));
|
|||
= note: defining type: no_relationships_early::<'_#1r, '_#2r, T>::{{closure}}#0 with closure substs [
|
||||
i32,
|
||||
extern "rust-call" fn((std::cell::Cell<&'_#3r ()>, T)),
|
||||
(),
|
||||
]
|
||||
|
||||
note: no external requirements
|
||||
|
|
@ -57,6 +59,7 @@ LL | with_signature(cell, t, |cell, t| require(cell, t));
|
|||
= note: defining type: projection_outlives::<'_#1r, '_#2r, T>::{{closure}}#0 with closure substs [
|
||||
i32,
|
||||
extern "rust-call" fn((std::cell::Cell<&'_#3r ()>, T)),
|
||||
(),
|
||||
]
|
||||
|
||||
note: no external requirements
|
||||
|
|
@ -82,6 +85,7 @@ LL | with_signature(cell, t, |cell, t| require(cell, t));
|
|||
= note: defining type: elements_outlive::<'_#1r, '_#2r, T>::{{closure}}#0 with closure substs [
|
||||
i32,
|
||||
extern "rust-call" fn((std::cell::Cell<&'_#3r ()>, T)),
|
||||
(),
|
||||
]
|
||||
|
||||
note: no external requirements
|
||||
|
|
@ -107,6 +111,7 @@ LL | with_signature(cell, t, |cell, t| require(cell, t));
|
|||
= note: defining type: one_region::<'_#1r, T>::{{closure}}#0 with closure substs [
|
||||
i32,
|
||||
extern "rust-call" fn((std::cell::Cell<&'_#2r ()>, T)),
|
||||
(),
|
||||
]
|
||||
|
||||
note: no external requirements
|
||||
|
|
|
|||
|
|
@ -7,6 +7,7 @@ LL | with_signature(cell, t, |cell, t| require(cell, t));
|
|||
= note: defining type: no_relationships_late::<'_#1r, '_#2r, T>::{{closure}}#0 with closure substs [
|
||||
i32,
|
||||
extern "rust-call" fn((std::cell::Cell<&'_#3r ()>, T)),
|
||||
(),
|
||||
]
|
||||
= note: late-bound region is '_#4r
|
||||
= note: number of external vids: 5
|
||||
|
|
@ -43,6 +44,7 @@ LL | with_signature(cell, t, |cell, t| require(cell, t));
|
|||
= note: defining type: no_relationships_early::<'_#1r, '_#2r, '_#3r, T>::{{closure}}#0 with closure substs [
|
||||
i32,
|
||||
extern "rust-call" fn((std::cell::Cell<&'_#4r ()>, T)),
|
||||
(),
|
||||
]
|
||||
= note: number of external vids: 5
|
||||
= note: where <T as Anything<ReClosureBound('_#2r), ReClosureBound('_#3r)>>::AssocType: '_#4r
|
||||
|
|
@ -78,6 +80,7 @@ LL | with_signature(cell, t, |cell, t| require(cell, t));
|
|||
= note: defining type: projection_outlives::<'_#1r, '_#2r, '_#3r, T>::{{closure}}#0 with closure substs [
|
||||
i32,
|
||||
extern "rust-call" fn((std::cell::Cell<&'_#4r ()>, T)),
|
||||
(),
|
||||
]
|
||||
= note: number of external vids: 5
|
||||
= note: where <T as Anything<ReClosureBound('_#2r), ReClosureBound('_#3r)>>::AssocType: '_#4r
|
||||
|
|
@ -105,6 +108,7 @@ LL | with_signature(cell, t, |cell, t| require(cell, t));
|
|||
= note: defining type: elements_outlive1::<'_#1r, '_#2r, '_#3r, T>::{{closure}}#0 with closure substs [
|
||||
i32,
|
||||
extern "rust-call" fn((std::cell::Cell<&'_#4r ()>, T)),
|
||||
(),
|
||||
]
|
||||
= note: number of external vids: 5
|
||||
= note: where <T as Anything<ReClosureBound('_#2r), ReClosureBound('_#3r)>>::AssocType: '_#4r
|
||||
|
|
@ -132,6 +136,7 @@ LL | with_signature(cell, t, |cell, t| require(cell, t));
|
|||
= note: defining type: elements_outlive2::<'_#1r, '_#2r, '_#3r, T>::{{closure}}#0 with closure substs [
|
||||
i32,
|
||||
extern "rust-call" fn((std::cell::Cell<&'_#4r ()>, T)),
|
||||
(),
|
||||
]
|
||||
= note: number of external vids: 5
|
||||
= note: where <T as Anything<ReClosureBound('_#2r), ReClosureBound('_#3r)>>::AssocType: '_#4r
|
||||
|
|
@ -159,6 +164,7 @@ LL | with_signature(cell, t, |cell, t| require(cell, t));
|
|||
= note: defining type: two_regions::<'_#1r, T>::{{closure}}#0 with closure substs [
|
||||
i32,
|
||||
extern "rust-call" fn((std::cell::Cell<&'_#2r ()>, T)),
|
||||
(),
|
||||
]
|
||||
= note: late-bound region is '_#3r
|
||||
= note: number of external vids: 4
|
||||
|
|
@ -200,6 +206,7 @@ LL | with_signature(cell, t, |cell, t| require(cell, t));
|
|||
= note: defining type: two_regions_outlive::<'_#1r, '_#2r, T>::{{closure}}#0 with closure substs [
|
||||
i32,
|
||||
extern "rust-call" fn((std::cell::Cell<&'_#3r ()>, T)),
|
||||
(),
|
||||
]
|
||||
= note: number of external vids: 4
|
||||
= note: where <T as Anything<ReClosureBound('_#2r), ReClosureBound('_#2r)>>::AssocType: '_#3r
|
||||
|
|
@ -227,6 +234,7 @@ LL | with_signature(cell, t, |cell, t| require(cell, t));
|
|||
= note: defining type: one_region::<'_#1r, T>::{{closure}}#0 with closure substs [
|
||||
i32,
|
||||
extern "rust-call" fn((std::cell::Cell<&'_#2r ()>, T)),
|
||||
(),
|
||||
]
|
||||
= note: number of external vids: 3
|
||||
= note: where <T as Anything<ReClosureBound('_#1r), ReClosureBound('_#1r)>>::AssocType: '_#2r
|
||||
|
|
|
|||
|
|
@ -7,6 +7,7 @@ LL | twice(cell, value, |a, b| invoke(a, b));
|
|||
= note: defining type: generic::<T>::{{closure}}#0 with closure substs [
|
||||
i16,
|
||||
for<'r, 's> extern "rust-call" fn((std::option::Option<std::cell::Cell<&'_#1r &ReLateBound(DebruijnIndex(0), BrNamed('r)) ()>>, &ReLateBound(DebruijnIndex(0), BrNamed('s)) T)),
|
||||
(),
|
||||
]
|
||||
= note: number of external vids: 2
|
||||
= note: where T: '_#1r
|
||||
|
|
@ -31,6 +32,7 @@ LL | twice(cell, value, |a, b| invoke(a, b));
|
|||
= note: defining type: generic_fail::<T>::{{closure}}#0 with closure substs [
|
||||
i16,
|
||||
for<'r, 's> extern "rust-call" fn((std::option::Option<std::cell::Cell<&'_#1r &ReLateBound(DebruijnIndex(0), BrNamed('r)) ()>>, &ReLateBound(DebruijnIndex(0), BrNamed('s)) T)),
|
||||
(),
|
||||
]
|
||||
= note: late-bound region is '_#2r
|
||||
= note: number of external vids: 3
|
||||
|
|
|
|||
|
|
@ -7,6 +7,7 @@ LL | with_signature(x, |y| y)
|
|||
= note: defining type: no_region::<'_#1r, T>::{{closure}}#0 with closure substs [
|
||||
i32,
|
||||
extern "rust-call" fn((std::boxed::Box<T>,)) -> std::boxed::Box<(dyn std::fmt::Debug + '_#2r)>,
|
||||
(),
|
||||
]
|
||||
= note: number of external vids: 3
|
||||
= note: where T: '_#2r
|
||||
|
|
|
|||
|
|
@ -14,6 +14,7 @@ LL | | })
|
|||
= note: defining type: no_region::<T>::{{closure}}#0 with closure substs [
|
||||
i32,
|
||||
extern "rust-call" fn((std::cell::Cell<&'_#1r ()>, T)),
|
||||
(),
|
||||
]
|
||||
= note: late-bound region is '_#2r
|
||||
= note: number of external vids: 3
|
||||
|
|
@ -64,6 +65,7 @@ LL | | })
|
|||
= note: defining type: correct_region::<'_#1r, T>::{{closure}}#0 with closure substs [
|
||||
i32,
|
||||
extern "rust-call" fn((std::cell::Cell<&'_#2r ()>, T)),
|
||||
(),
|
||||
]
|
||||
= note: number of external vids: 3
|
||||
= note: where T: '_#2r
|
||||
|
|
@ -96,6 +98,7 @@ LL | | })
|
|||
= note: defining type: wrong_region::<'_#1r, T>::{{closure}}#0 with closure substs [
|
||||
i32,
|
||||
extern "rust-call" fn((std::cell::Cell<&'_#2r ()>, T)),
|
||||
(),
|
||||
]
|
||||
= note: late-bound region is '_#3r
|
||||
= note: number of external vids: 4
|
||||
|
|
@ -141,6 +144,7 @@ LL | | })
|
|||
= note: defining type: outlives_region::<'_#1r, '_#2r, T>::{{closure}}#0 with closure substs [
|
||||
i32,
|
||||
extern "rust-call" fn((std::cell::Cell<&'_#3r ()>, T)),
|
||||
(),
|
||||
]
|
||||
= note: number of external vids: 4
|
||||
= note: where T: '_#3r
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue