change to 0-based indices
Co-authored-by: csmoe <35686186+csmoe@users.noreply.github.com>
This commit is contained in:
parent
22a25d9b49
commit
783fe4f880
14 changed files with 27 additions and 27 deletions
|
@ -989,11 +989,11 @@ impl<'a, 'gcx, 'tcx> ParamTy {
|
||||||
/// for<'a> fn(for<'b> fn(&'b isize, &'a isize), &'a char)
|
/// for<'a> fn(for<'b> fn(&'b isize, &'a isize), &'a char)
|
||||||
/// ^ ^ | | |
|
/// ^ ^ | | |
|
||||||
/// | | | | |
|
/// | | | | |
|
||||||
/// | +------------+ 1 | |
|
/// | +------------+ 0 | |
|
||||||
/// | | |
|
/// | | |
|
||||||
/// +--------------------------------+ 2 |
|
/// +--------------------------------+ 1 |
|
||||||
/// | |
|
/// | |
|
||||||
/// +------------------------------------------+ 1
|
/// +------------------------------------------+ 0
|
||||||
///
|
///
|
||||||
/// In this type, there are two binders (the outer fn and the inner
|
/// In this type, there are two binders (the outer fn and the inner
|
||||||
/// fn). We need to be able to determine, for any given region, which
|
/// fn). We need to be able to determine, for any given region, which
|
||||||
|
@ -1005,9 +1005,9 @@ impl<'a, 'gcx, 'tcx> ParamTy {
|
||||||
///
|
///
|
||||||
/// Let's start with the reference type `&'b isize` that is the first
|
/// Let's start with the reference type `&'b isize` that is the first
|
||||||
/// argument to the inner function. This region `'b` is assigned a De
|
/// argument to the inner function. This region `'b` is assigned a De
|
||||||
/// Bruijn index of 1, meaning "the innermost binder" (in this case, a
|
/// Bruijn index of 0, meaning "the innermost binder" (in this case, a
|
||||||
/// fn). The region `'a` that appears in the second argument type (`&'a
|
/// fn). The region `'a` that appears in the second argument type (`&'a
|
||||||
/// isize`) would then be assigned a De Bruijn index of 2, meaning "the
|
/// isize`) would then be assigned a De Bruijn index of 1, meaning "the
|
||||||
/// second-innermost binder". (These indices are written on the arrays
|
/// second-innermost binder". (These indices are written on the arrays
|
||||||
/// in the diagram).
|
/// in the diagram).
|
||||||
///
|
///
|
||||||
|
@ -1017,7 +1017,7 @@ impl<'a, 'gcx, 'tcx> ParamTy {
|
||||||
/// the outermost fn. But this time, this reference is not nested within
|
/// the outermost fn. But this time, this reference is not nested within
|
||||||
/// any other binders (i.e., it is not an argument to the inner fn, but
|
/// any other binders (i.e., it is not an argument to the inner fn, but
|
||||||
/// rather the outer one). Therefore, in this case, it is assigned a
|
/// rather the outer one). Therefore, in this case, it is assigned a
|
||||||
/// De Bruijn index of 1, because the innermost binder in that location
|
/// De Bruijn index of 0, because the innermost binder in that location
|
||||||
/// is the outer fn.
|
/// is the outer fn.
|
||||||
///
|
///
|
||||||
/// [dbi]: http://en.wikipedia.org/wiki/De_Bruijn_index
|
/// [dbi]: http://en.wikipedia.org/wiki/De_Bruijn_index
|
||||||
|
@ -1025,7 +1025,7 @@ impl<'a, 'gcx, 'tcx> ParamTy {
|
||||||
pub struct DebruijnIndex {
|
pub struct DebruijnIndex {
|
||||||
/// We maintain the invariant that this is never 0. So 1 indicates
|
/// We maintain the invariant that this is never 0. So 1 indicates
|
||||||
/// the innermost binder.
|
/// the innermost binder.
|
||||||
depth: u32,
|
index: u32,
|
||||||
}
|
}
|
||||||
|
|
||||||
pub type Region<'tcx> = &'tcx RegionKind;
|
pub type Region<'tcx> = &'tcx RegionKind;
|
||||||
|
@ -1259,7 +1259,7 @@ impl<'a, 'tcx, 'gcx> PolyExistentialProjection<'tcx> {
|
||||||
}
|
}
|
||||||
|
|
||||||
impl DebruijnIndex {
|
impl DebruijnIndex {
|
||||||
pub const INNERMOST: DebruijnIndex = DebruijnIndex { depth: 1 };
|
pub const INNERMOST: DebruijnIndex = DebruijnIndex { index: 0 };
|
||||||
|
|
||||||
/// Returns the resulting index when this value is moved into
|
/// Returns the resulting index when this value is moved into
|
||||||
/// `amount` number of new binders. So e.g. if you had
|
/// `amount` number of new binders. So e.g. if you had
|
||||||
|
@ -1273,7 +1273,7 @@ impl DebruijnIndex {
|
||||||
/// you would need to shift the index for `'a` into 1 new binder.
|
/// you would need to shift the index for `'a` into 1 new binder.
|
||||||
#[must_use]
|
#[must_use]
|
||||||
pub const fn shifted_in(self, amount: u32) -> DebruijnIndex {
|
pub const fn shifted_in(self, amount: u32) -> DebruijnIndex {
|
||||||
DebruijnIndex { depth: self.depth + amount }
|
DebruijnIndex { index: self.index + amount }
|
||||||
}
|
}
|
||||||
|
|
||||||
/// Update this index in place by shifting it "in" through
|
/// Update this index in place by shifting it "in" through
|
||||||
|
@ -1286,7 +1286,7 @@ impl DebruijnIndex {
|
||||||
/// `amount` number of new binders.
|
/// `amount` number of new binders.
|
||||||
#[must_use]
|
#[must_use]
|
||||||
pub const fn shifted_out(self, amount: u32) -> DebruijnIndex {
|
pub const fn shifted_out(self, amount: u32) -> DebruijnIndex {
|
||||||
DebruijnIndex { depth: self.depth - amount }
|
DebruijnIndex { index: self.index - amount }
|
||||||
}
|
}
|
||||||
|
|
||||||
/// Update in place by shifting out from `amount` binders.
|
/// Update in place by shifting out from `amount` binders.
|
||||||
|
@ -1315,12 +1315,12 @@ impl DebruijnIndex {
|
||||||
/// bound by one of the binders we are shifting out of, that is an
|
/// bound by one of the binders we are shifting out of, that is an
|
||||||
/// error (and should fail an assertion failure).
|
/// error (and should fail an assertion failure).
|
||||||
pub fn shifted_out_to_binder(self, to_binder: DebruijnIndex) -> Self {
|
pub fn shifted_out_to_binder(self, to_binder: DebruijnIndex) -> Self {
|
||||||
self.shifted_out(to_binder.depth - Self::INNERMOST.depth)
|
self.shifted_out(to_binder.index - Self::INNERMOST.index)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
impl_stable_hash_for!(struct DebruijnIndex {
|
impl_stable_hash_for!(struct DebruijnIndex {
|
||||||
depth
|
index
|
||||||
});
|
});
|
||||||
|
|
||||||
/// Region utilities
|
/// Region utilities
|
||||||
|
|
|
@ -18,7 +18,7 @@ LL | let mut closure = expect_sig(|p, y| *p = y);
|
||||||
|
|
|
|
||||||
= note: defining type: DefId(0/1:9 ~ escape_argument_callee[317d]::test[0]::{{closure}}[0]) with closure substs [
|
= note: defining type: DefId(0/1:9 ~ escape_argument_callee[317d]::test[0]::{{closure}}[0]) with closure substs [
|
||||||
i16,
|
i16,
|
||||||
for<'r, 's, 't0> extern "rust-call" fn((&ReLateBound(DebruijnIndex { depth: 1 }, BrNamed(crate0:DefIndex(0:0), 'r)) mut &ReLateBound(DebruijnIndex { depth: 1 }, BrNamed(crate0:DefIndex(0:0), 's)) i32, &ReLateBound(DebruijnIndex { depth: 1 }, BrNamed(crate0:DefIndex(0:0), 't0)) i32))
|
for<'r, 's, 't0> extern "rust-call" fn((&ReLateBound(DebruijnIndex { index: 0 }, BrNamed(crate0:DefIndex(0:0), 'r)) mut &ReLateBound(DebruijnIndex { index: 0 }, BrNamed(crate0:DefIndex(0:0), 's)) i32, &ReLateBound(DebruijnIndex { index: 0 }, BrNamed(crate0:DefIndex(0:0), 't0)) i32))
|
||||||
]
|
]
|
||||||
|
|
||||||
note: No external requirements
|
note: No external requirements
|
||||||
|
|
|
@ -6,7 +6,7 @@ LL | let mut closure = expect_sig(|p, y| *p = y);
|
||||||
|
|
|
|
||||||
= note: defining type: DefId(0/1:9 ~ escape_argument[317d]::test[0]::{{closure}}[0]) with closure substs [
|
= note: defining type: DefId(0/1:9 ~ escape_argument[317d]::test[0]::{{closure}}[0]) with closure substs [
|
||||||
i16,
|
i16,
|
||||||
for<'r, 's> extern "rust-call" fn((&ReLateBound(DebruijnIndex { depth: 1 }, BrNamed(crate0:DefIndex(0:0), 'r)) mut &ReLateBound(DebruijnIndex { depth: 1 }, BrNamed(crate0:DefIndex(0:0), 's)) i32, &ReLateBound(DebruijnIndex { depth: 1 }, BrNamed(crate0:DefIndex(0:0), 's)) i32))
|
for<'r, 's> extern "rust-call" fn((&ReLateBound(DebruijnIndex { index: 0 }, BrNamed(crate0:DefIndex(0:0), 'r)) mut &ReLateBound(DebruijnIndex { index: 0 }, BrNamed(crate0:DefIndex(0:0), 's)) i32, &ReLateBound(DebruijnIndex { index: 0 }, BrNamed(crate0:DefIndex(0:0), 's)) i32))
|
||||||
]
|
]
|
||||||
|
|
||||||
note: No external requirements
|
note: No external requirements
|
||||||
|
|
|
@ -24,7 +24,7 @@ LL | | },
|
||||||
|
|
|
|
||||||
= note: defining type: DefId(0/1:20 ~ propagate_approximated_fail_no_postdom[317d]::supply[0]::{{closure}}[0]) with closure substs [
|
= note: defining type: DefId(0/1:20 ~ propagate_approximated_fail_no_postdom[317d]::supply[0]::{{closure}}[0]) with closure substs [
|
||||||
i16,
|
i16,
|
||||||
for<'r, 's> extern "rust-call" fn((std::cell::Cell<&'_#1r &ReLateBound(DebruijnIndex { depth: 1 }, BrNamed(crate0:DefIndex(0:0), 'r)) u32>, std::cell::Cell<&'_#2r &ReLateBound(DebruijnIndex { depth: 1 }, BrNamed(crate0:DefIndex(0:0), 'r)) u32>, std::cell::Cell<&ReLateBound(DebruijnIndex { depth: 1 }, BrNamed(crate0:DefIndex(0:0), 's)) &'_#3r u32>, std::cell::Cell<&ReLateBound(DebruijnIndex { depth: 1 }, BrNamed(crate0:DefIndex(0:0), 'r)) u32>, std::cell::Cell<&ReLateBound(DebruijnIndex { depth: 1 }, BrNamed(crate0:DefIndex(0:0), 's)) u32>))
|
for<'r, 's> extern "rust-call" fn((std::cell::Cell<&'_#1r &ReLateBound(DebruijnIndex { index: 0 }, BrNamed(crate0:DefIndex(0:0), 'r)) u32>, std::cell::Cell<&'_#2r &ReLateBound(DebruijnIndex { index: 0 }, BrNamed(crate0:DefIndex(0:0), 'r)) u32>, std::cell::Cell<&ReLateBound(DebruijnIndex { index: 0 }, BrNamed(crate0:DefIndex(0:0), 's)) &'_#3r u32>, std::cell::Cell<&ReLateBound(DebruijnIndex { index: 0 }, BrNamed(crate0:DefIndex(0:0), 'r)) u32>, std::cell::Cell<&ReLateBound(DebruijnIndex { index: 0 }, BrNamed(crate0:DefIndex(0:0), 's)) u32>))
|
||||||
]
|
]
|
||||||
|
|
||||||
note: No external requirements
|
note: No external requirements
|
||||||
|
|
|
@ -18,7 +18,7 @@ LL | | });
|
||||||
|
|
|
|
||||||
= note: defining type: DefId(0/1:18 ~ propagate_approximated_ref[317d]::supply[0]::{{closure}}[0]) with closure substs [
|
= note: defining type: DefId(0/1:18 ~ propagate_approximated_ref[317d]::supply[0]::{{closure}}[0]) with closure substs [
|
||||||
i16,
|
i16,
|
||||||
for<'r, 's, 't0, 't1, 't2, 't3> extern "rust-call" fn((&ReLateBound(DebruijnIndex { depth: 1 }, BrNamed(crate0:DefIndex(0:0), 'r)) std::cell::Cell<&'_#1r &ReLateBound(DebruijnIndex { depth: 1 }, BrNamed(crate0:DefIndex(0:0), 's)) u32>, &ReLateBound(DebruijnIndex { depth: 1 }, BrNamed(crate0:DefIndex(0:0), 't0)) std::cell::Cell<&ReLateBound(DebruijnIndex { depth: 1 }, BrNamed(crate0:DefIndex(0:0), 't1)) &'_#2r u32>, &ReLateBound(DebruijnIndex { depth: 1 }, BrNamed(crate0:DefIndex(0:0), 't2)) std::cell::Cell<&ReLateBound(DebruijnIndex { depth: 1 }, BrNamed(crate0:DefIndex(0:0), 's)) u32>, &ReLateBound(DebruijnIndex { depth: 1 }, BrNamed(crate0:DefIndex(0:0), 't3)) std::cell::Cell<&ReLateBound(DebruijnIndex { depth: 1 }, BrNamed(crate0:DefIndex(0:0), 't1)) u32>))
|
for<'r, 's, 't0, 't1, 't2, 't3> extern "rust-call" fn((&ReLateBound(DebruijnIndex { index: 0 }, BrNamed(crate0:DefIndex(0:0), 'r)) std::cell::Cell<&'_#1r &ReLateBound(DebruijnIndex { index: 0 }, BrNamed(crate0:DefIndex(0:0), 's)) u32>, &ReLateBound(DebruijnIndex { index: 0 }, BrNamed(crate0:DefIndex(0:0), 't0)) std::cell::Cell<&ReLateBound(DebruijnIndex { index: 0 }, BrNamed(crate0:DefIndex(0:0), 't1)) &'_#2r u32>, &ReLateBound(DebruijnIndex { index: 0 }, BrNamed(crate0:DefIndex(0:0), 't2)) std::cell::Cell<&ReLateBound(DebruijnIndex { index: 0 }, BrNamed(crate0:DefIndex(0:0), 's)) u32>, &ReLateBound(DebruijnIndex { index: 0 }, BrNamed(crate0:DefIndex(0:0), 't3)) std::cell::Cell<&ReLateBound(DebruijnIndex { index: 0 }, BrNamed(crate0:DefIndex(0:0), 't1)) u32>))
|
||||||
]
|
]
|
||||||
= note: number of external vids: 3
|
= note: number of external vids: 3
|
||||||
= note: where '_#1r: '_#2r
|
= note: where '_#1r: '_#2r
|
||||||
|
|
|
@ -23,7 +23,7 @@ LL | | })
|
||||||
|
|
|
|
||||||
= note: defining type: DefId(0/1:12 ~ propagate_approximated_shorter_to_static_comparing_against_free[317d]::case1[0]::{{closure}}[0]) with closure substs [
|
= note: defining type: DefId(0/1:12 ~ propagate_approximated_shorter_to_static_comparing_against_free[317d]::case1[0]::{{closure}}[0]) with closure substs [
|
||||||
i32,
|
i32,
|
||||||
for<'r> extern "rust-call" fn((std::cell::Cell<&'_#1r u32>, std::cell::Cell<&ReLateBound(DebruijnIndex { depth: 1 }, BrNamed(crate0:DefIndex(0:0), 'r)) u32>))
|
for<'r> extern "rust-call" fn((std::cell::Cell<&'_#1r u32>, std::cell::Cell<&ReLateBound(DebruijnIndex { index: 0 }, BrNamed(crate0:DefIndex(0:0), 'r)) u32>))
|
||||||
]
|
]
|
||||||
|
|
||||||
note: No external requirements
|
note: No external requirements
|
||||||
|
@ -51,7 +51,7 @@ LL | | })
|
||||||
|
|
|
|
||||||
= note: defining type: DefId(0/1:13 ~ propagate_approximated_shorter_to_static_comparing_against_free[317d]::case2[0]::{{closure}}[0]) with closure substs [
|
= note: defining type: DefId(0/1:13 ~ propagate_approximated_shorter_to_static_comparing_against_free[317d]::case2[0]::{{closure}}[0]) with closure substs [
|
||||||
i32,
|
i32,
|
||||||
for<'r> extern "rust-call" fn((std::cell::Cell<&'_#1r u32>, std::cell::Cell<&ReLateBound(DebruijnIndex { depth: 1 }, BrNamed(crate0:DefIndex(0:0), 'r)) u32>))
|
for<'r> extern "rust-call" fn((std::cell::Cell<&'_#1r u32>, std::cell::Cell<&ReLateBound(DebruijnIndex { index: 0 }, BrNamed(crate0:DefIndex(0:0), 'r)) u32>))
|
||||||
]
|
]
|
||||||
= note: number of external vids: 2
|
= note: number of external vids: 2
|
||||||
= note: where '_#1r: '_#0r
|
= note: where '_#1r: '_#0r
|
||||||
|
|
|
@ -18,7 +18,7 @@ LL | | });
|
||||||
|
|
|
|
||||||
= note: defining type: DefId(0/1:18 ~ propagate_approximated_shorter_to_static_no_bound[317d]::supply[0]::{{closure}}[0]) with closure substs [
|
= note: defining type: DefId(0/1:18 ~ propagate_approximated_shorter_to_static_no_bound[317d]::supply[0]::{{closure}}[0]) with closure substs [
|
||||||
i16,
|
i16,
|
||||||
for<'r, 's, 't0, 't1, 't2> extern "rust-call" fn((&ReLateBound(DebruijnIndex { depth: 1 }, BrNamed(crate0:DefIndex(0:0), 'r)) std::cell::Cell<&'_#1r &ReLateBound(DebruijnIndex { depth: 1 }, BrNamed(crate0:DefIndex(0:0), 's)) u32>, &ReLateBound(DebruijnIndex { depth: 1 }, BrNamed(crate0:DefIndex(0:0), 't0)) std::cell::Cell<&ReLateBound(DebruijnIndex { depth: 1 }, BrNamed(crate0:DefIndex(0:0), 's)) u32>, &ReLateBound(DebruijnIndex { depth: 1 }, BrNamed(crate0:DefIndex(0:0), 't1)) std::cell::Cell<&ReLateBound(DebruijnIndex { depth: 1 }, BrNamed(crate0:DefIndex(0:0), 't2)) u32>))
|
for<'r, 's, 't0, 't1, 't2> extern "rust-call" fn((&ReLateBound(DebruijnIndex { index: 0 }, BrNamed(crate0:DefIndex(0:0), 'r)) std::cell::Cell<&'_#1r &ReLateBound(DebruijnIndex { index: 0 }, BrNamed(crate0:DefIndex(0:0), 's)) u32>, &ReLateBound(DebruijnIndex { index: 0 }, BrNamed(crate0:DefIndex(0:0), 't0)) std::cell::Cell<&ReLateBound(DebruijnIndex { index: 0 }, BrNamed(crate0:DefIndex(0:0), 's)) u32>, &ReLateBound(DebruijnIndex { index: 0 }, BrNamed(crate0:DefIndex(0:0), 't1)) std::cell::Cell<&ReLateBound(DebruijnIndex { index: 0 }, BrNamed(crate0:DefIndex(0:0), 't2)) u32>))
|
||||||
]
|
]
|
||||||
= note: number of external vids: 2
|
= note: number of external vids: 2
|
||||||
= note: where '_#1r: '_#0r
|
= note: where '_#1r: '_#0r
|
||||||
|
|
|
@ -18,7 +18,7 @@ LL | | });
|
||||||
|
|
|
|
||||||
= note: defining type: DefId(0/1:18 ~ propagate_approximated_shorter_to_static_wrong_bound[317d]::supply[0]::{{closure}}[0]) with closure substs [
|
= note: defining type: DefId(0/1:18 ~ propagate_approximated_shorter_to_static_wrong_bound[317d]::supply[0]::{{closure}}[0]) with closure substs [
|
||||||
i16,
|
i16,
|
||||||
for<'r, 's, 't0, 't1, 't2, 't3> extern "rust-call" fn((&ReLateBound(DebruijnIndex { depth: 1 }, BrNamed(crate0:DefIndex(0:0), 'r)) std::cell::Cell<&'_#1r &ReLateBound(DebruijnIndex { depth: 1 }, BrNamed(crate0:DefIndex(0:0), 's)) u32>, &ReLateBound(DebruijnIndex { depth: 1 }, BrNamed(crate0:DefIndex(0:0), 't0)) std::cell::Cell<&'_#2r &ReLateBound(DebruijnIndex { depth: 1 }, BrNamed(crate0:DefIndex(0:0), 't1)) u32>, &ReLateBound(DebruijnIndex { depth: 1 }, BrNamed(crate0:DefIndex(0:0), 't2)) std::cell::Cell<&ReLateBound(DebruijnIndex { depth: 1 }, BrNamed(crate0:DefIndex(0:0), 's)) u32>, &ReLateBound(DebruijnIndex { depth: 1 }, BrNamed(crate0:DefIndex(0:0), 't3)) std::cell::Cell<&ReLateBound(DebruijnIndex { depth: 1 }, BrNamed(crate0:DefIndex(0:0), 't1)) u32>))
|
for<'r, 's, 't0, 't1, 't2, 't3> extern "rust-call" fn((&ReLateBound(DebruijnIndex { index: 0 }, BrNamed(crate0:DefIndex(0:0), 'r)) std::cell::Cell<&'_#1r &ReLateBound(DebruijnIndex { index: 0 }, BrNamed(crate0:DefIndex(0:0), 's)) u32>, &ReLateBound(DebruijnIndex { index: 0 }, BrNamed(crate0:DefIndex(0:0), 't0)) std::cell::Cell<&'_#2r &ReLateBound(DebruijnIndex { index: 0 }, BrNamed(crate0:DefIndex(0:0), 't1)) u32>, &ReLateBound(DebruijnIndex { index: 0 }, BrNamed(crate0:DefIndex(0:0), 't2)) std::cell::Cell<&ReLateBound(DebruijnIndex { index: 0 }, BrNamed(crate0:DefIndex(0:0), 's)) u32>, &ReLateBound(DebruijnIndex { index: 0 }, BrNamed(crate0:DefIndex(0:0), 't3)) std::cell::Cell<&ReLateBound(DebruijnIndex { index: 0 }, BrNamed(crate0:DefIndex(0:0), 't1)) u32>))
|
||||||
]
|
]
|
||||||
= note: number of external vids: 3
|
= note: number of external vids: 3
|
||||||
= note: where '_#1r: '_#0r
|
= note: where '_#1r: '_#0r
|
||||||
|
|
|
@ -18,7 +18,7 @@ LL | | });
|
||||||
|
|
|
|
||||||
= note: defining type: DefId(0/1:18 ~ propagate_approximated_val[317d]::test[0]::{{closure}}[0]) with closure substs [
|
= note: defining type: DefId(0/1:18 ~ propagate_approximated_val[317d]::test[0]::{{closure}}[0]) with closure substs [
|
||||||
i16,
|
i16,
|
||||||
for<'r, 's> extern "rust-call" fn((std::cell::Cell<&'_#1r &ReLateBound(DebruijnIndex { depth: 1 }, BrNamed(crate0:DefIndex(0:0), 'r)) u32>, std::cell::Cell<&ReLateBound(DebruijnIndex { depth: 1 }, BrNamed(crate0:DefIndex(0:0), 's)) &'_#2r u32>, std::cell::Cell<&ReLateBound(DebruijnIndex { depth: 1 }, BrNamed(crate0:DefIndex(0:0), 'r)) u32>, std::cell::Cell<&ReLateBound(DebruijnIndex { depth: 1 }, BrNamed(crate0:DefIndex(0:0), 's)) u32>))
|
for<'r, 's> extern "rust-call" fn((std::cell::Cell<&'_#1r &ReLateBound(DebruijnIndex { index: 0 }, BrNamed(crate0:DefIndex(0:0), 'r)) u32>, std::cell::Cell<&ReLateBound(DebruijnIndex { index: 0 }, BrNamed(crate0:DefIndex(0:0), 's)) &'_#2r u32>, std::cell::Cell<&ReLateBound(DebruijnIndex { index: 0 }, BrNamed(crate0:DefIndex(0:0), 'r)) u32>, std::cell::Cell<&ReLateBound(DebruijnIndex { index: 0 }, BrNamed(crate0:DefIndex(0:0), 's)) u32>))
|
||||||
]
|
]
|
||||||
= note: number of external vids: 3
|
= note: number of external vids: 3
|
||||||
= note: where '_#1r: '_#2r
|
= note: where '_#1r: '_#2r
|
||||||
|
|
|
@ -16,7 +16,7 @@ LL | | },
|
||||||
|
|
|
|
||||||
= note: defining type: DefId(0/1:16 ~ propagate_despite_same_free_region[317d]::supply[0]::{{closure}}[0]) with closure substs [
|
= note: defining type: DefId(0/1:16 ~ propagate_despite_same_free_region[317d]::supply[0]::{{closure}}[0]) with closure substs [
|
||||||
i16,
|
i16,
|
||||||
for<'r, 's> extern "rust-call" fn((std::cell::Cell<&'_#1r &ReLateBound(DebruijnIndex { depth: 1 }, BrNamed(crate0:DefIndex(0:0), 'r)) u32>, std::cell::Cell<&ReLateBound(DebruijnIndex { depth: 1 }, BrNamed(crate0:DefIndex(0:0), 's)) &'_#2r u32>, std::cell::Cell<&ReLateBound(DebruijnIndex { depth: 1 }, BrNamed(crate0:DefIndex(0:0), 'r)) u32>, std::cell::Cell<&ReLateBound(DebruijnIndex { depth: 1 }, BrNamed(crate0:DefIndex(0:0), 's)) u32>))
|
for<'r, 's> extern "rust-call" fn((std::cell::Cell<&'_#1r &ReLateBound(DebruijnIndex { index: 0 }, BrNamed(crate0:DefIndex(0:0), 'r)) u32>, std::cell::Cell<&ReLateBound(DebruijnIndex { index: 0 }, BrNamed(crate0:DefIndex(0:0), 's)) &'_#2r u32>, std::cell::Cell<&ReLateBound(DebruijnIndex { index: 0 }, BrNamed(crate0:DefIndex(0:0), 'r)) u32>, std::cell::Cell<&ReLateBound(DebruijnIndex { index: 0 }, BrNamed(crate0:DefIndex(0:0), 's)) u32>))
|
||||||
]
|
]
|
||||||
= note: number of external vids: 3
|
= note: number of external vids: 3
|
||||||
= note: where '_#1r: '_#2r
|
= note: where '_#1r: '_#2r
|
||||||
|
|
|
@ -24,7 +24,7 @@ LL | | });
|
||||||
|
|
|
|
||||||
= note: defining type: DefId(0/1:18 ~ propagate_fail_to_approximate_longer_no_bounds[317d]::supply[0]::{{closure}}[0]) with closure substs [
|
= note: defining type: DefId(0/1:18 ~ propagate_fail_to_approximate_longer_no_bounds[317d]::supply[0]::{{closure}}[0]) with closure substs [
|
||||||
i16,
|
i16,
|
||||||
for<'r, 's, 't0, 't1, 't2> extern "rust-call" fn((&ReLateBound(DebruijnIndex { depth: 1 }, BrNamed(crate0:DefIndex(0:0), 'r)) std::cell::Cell<&ReLateBound(DebruijnIndex { depth: 1 }, BrNamed(crate0:DefIndex(0:0), 's)) &'_#1r u32>, &ReLateBound(DebruijnIndex { depth: 1 }, BrNamed(crate0:DefIndex(0:0), 't0)) std::cell::Cell<&ReLateBound(DebruijnIndex { depth: 1 }, BrNamed(crate0:DefIndex(0:0), 't1)) u32>, &ReLateBound(DebruijnIndex { depth: 1 }, BrNamed(crate0:DefIndex(0:0), 't2)) std::cell::Cell<&ReLateBound(DebruijnIndex { depth: 1 }, BrNamed(crate0:DefIndex(0:0), 's)) u32>))
|
for<'r, 's, 't0, 't1, 't2> extern "rust-call" fn((&ReLateBound(DebruijnIndex { index: 0 }, BrNamed(crate0:DefIndex(0:0), 'r)) std::cell::Cell<&ReLateBound(DebruijnIndex { index: 0 }, BrNamed(crate0:DefIndex(0:0), 's)) &'_#1r u32>, &ReLateBound(DebruijnIndex { index: 0 }, BrNamed(crate0:DefIndex(0:0), 't0)) std::cell::Cell<&ReLateBound(DebruijnIndex { index: 0 }, BrNamed(crate0:DefIndex(0:0), 't1)) u32>, &ReLateBound(DebruijnIndex { index: 0 }, BrNamed(crate0:DefIndex(0:0), 't2)) std::cell::Cell<&ReLateBound(DebruijnIndex { index: 0 }, BrNamed(crate0:DefIndex(0:0), 's)) u32>))
|
||||||
]
|
]
|
||||||
|
|
||||||
note: No external requirements
|
note: No external requirements
|
||||||
|
|
|
@ -24,7 +24,7 @@ LL | | });
|
||||||
|
|
|
|
||||||
= note: defining type: DefId(0/1:18 ~ propagate_fail_to_approximate_longer_wrong_bounds[317d]::supply[0]::{{closure}}[0]) with closure substs [
|
= note: defining type: DefId(0/1:18 ~ propagate_fail_to_approximate_longer_wrong_bounds[317d]::supply[0]::{{closure}}[0]) with closure substs [
|
||||||
i16,
|
i16,
|
||||||
for<'r, 's, 't0, 't1, 't2, 't3> extern "rust-call" fn((&ReLateBound(DebruijnIndex { depth: 1 }, BrNamed(crate0:DefIndex(0:0), 'r)) std::cell::Cell<&ReLateBound(DebruijnIndex { depth: 1 }, BrNamed(crate0:DefIndex(0:0), 's)) &'_#1r u32>, &ReLateBound(DebruijnIndex { depth: 1 }, BrNamed(crate0:DefIndex(0:0), 't0)) std::cell::Cell<&ReLateBound(DebruijnIndex { depth: 1 }, BrNamed(crate0:DefIndex(0:0), 't1)) &'_#2r u32>, &ReLateBound(DebruijnIndex { depth: 1 }, BrNamed(crate0:DefIndex(0:0), 't2)) std::cell::Cell<&ReLateBound(DebruijnIndex { depth: 1 }, BrNamed(crate0:DefIndex(0:0), 's)) u32>, &ReLateBound(DebruijnIndex { depth: 1 }, BrNamed(crate0:DefIndex(0:0), 't3)) std::cell::Cell<&ReLateBound(DebruijnIndex { depth: 1 }, BrNamed(crate0:DefIndex(0:0), 't1)) u32>))
|
for<'r, 's, 't0, 't1, 't2, 't3> extern "rust-call" fn((&ReLateBound(DebruijnIndex { index: 0 }, BrNamed(crate0:DefIndex(0:0), 'r)) std::cell::Cell<&ReLateBound(DebruijnIndex { index: 0 }, BrNamed(crate0:DefIndex(0:0), 's)) &'_#1r u32>, &ReLateBound(DebruijnIndex { index: 0 }, BrNamed(crate0:DefIndex(0:0), 't0)) std::cell::Cell<&ReLateBound(DebruijnIndex { index: 0 }, BrNamed(crate0:DefIndex(0:0), 't1)) &'_#2r u32>, &ReLateBound(DebruijnIndex { index: 0 }, BrNamed(crate0:DefIndex(0:0), 't2)) std::cell::Cell<&ReLateBound(DebruijnIndex { index: 0 }, BrNamed(crate0:DefIndex(0:0), 's)) u32>, &ReLateBound(DebruijnIndex { index: 0 }, BrNamed(crate0:DefIndex(0:0), 't3)) std::cell::Cell<&ReLateBound(DebruijnIndex { index: 0 }, BrNamed(crate0:DefIndex(0:0), 't1)) u32>))
|
||||||
]
|
]
|
||||||
|
|
||||||
note: No external requirements
|
note: No external requirements
|
||||||
|
|
|
@ -18,7 +18,7 @@ LL | expect_sig(|a, b| b); // ought to return `a`
|
||||||
|
|
|
|
||||||
= note: defining type: DefId(0/1:9 ~ return_wrong_bound_region[317d]::test[0]::{{closure}}[0]) with closure substs [
|
= note: defining type: DefId(0/1:9 ~ return_wrong_bound_region[317d]::test[0]::{{closure}}[0]) with closure substs [
|
||||||
i16,
|
i16,
|
||||||
for<'r, 's> extern "rust-call" fn((&ReLateBound(DebruijnIndex { depth: 1 }, BrNamed(crate0:DefIndex(0:0), 'r)) i32, &ReLateBound(DebruijnIndex { depth: 1 }, BrNamed(crate0:DefIndex(0:0), 's)) i32)) -> &ReLateBound(DebruijnIndex { depth: 1 }, BrNamed(crate0:DefIndex(0:0), 'r)) i32
|
for<'r, 's> extern "rust-call" fn((&ReLateBound(DebruijnIndex { index: 0 }, BrNamed(crate0:DefIndex(0:0), 'r)) i32, &ReLateBound(DebruijnIndex { index: 0 }, BrNamed(crate0:DefIndex(0:0), 's)) i32)) -> &ReLateBound(DebruijnIndex { index: 0 }, BrNamed(crate0:DefIndex(0:0), 'r)) i32
|
||||||
]
|
]
|
||||||
|
|
||||||
note: No external requirements
|
note: No external requirements
|
||||||
|
|
|
@ -25,7 +25,7 @@ LL | twice(cell, value, |a, b| invoke(a, b));
|
||||||
= note: defining type: DefId(0/1:14 ~ ty_param_closure_approximate_lower_bound[317d]::generic[0]::{{closure}}[0]) with closure substs [
|
= note: defining type: DefId(0/1:14 ~ ty_param_closure_approximate_lower_bound[317d]::generic[0]::{{closure}}[0]) with closure substs [
|
||||||
T,
|
T,
|
||||||
i16,
|
i16,
|
||||||
for<'r, 's> extern "rust-call" fn((std::option::Option<std::cell::Cell<&'_#1r &ReLateBound(DebruijnIndex { depth: 1 }, BrNamed(crate0:DefIndex(0:0), 'r)) ()>>, &ReLateBound(DebruijnIndex { depth: 1 }, BrNamed(crate0:DefIndex(0:0), 's)) T))
|
for<'r, 's> extern "rust-call" fn((std::option::Option<std::cell::Cell<&'_#1r &ReLateBound(DebruijnIndex { index: 0 }, BrNamed(crate0:DefIndex(0:0), 'r)) ()>>, &ReLateBound(DebruijnIndex { index: 0 }, BrNamed(crate0:DefIndex(0:0), 's)) T))
|
||||||
]
|
]
|
||||||
= note: number of external vids: 2
|
= note: number of external vids: 2
|
||||||
= note: where T: '_#1r
|
= note: where T: '_#1r
|
||||||
|
@ -55,7 +55,7 @@ LL | twice(cell, value, |a, b| invoke(a, b));
|
||||||
= note: defining type: DefId(0/1:17 ~ ty_param_closure_approximate_lower_bound[317d]::generic_fail[0]::{{closure}}[0]) with closure substs [
|
= note: defining type: DefId(0/1:17 ~ ty_param_closure_approximate_lower_bound[317d]::generic_fail[0]::{{closure}}[0]) with closure substs [
|
||||||
T,
|
T,
|
||||||
i16,
|
i16,
|
||||||
for<'r, 's> extern "rust-call" fn((std::option::Option<std::cell::Cell<&'_#1r &ReLateBound(DebruijnIndex { depth: 1 }, BrNamed(crate0:DefIndex(0:0), 'r)) ()>>, &ReLateBound(DebruijnIndex { depth: 1 }, BrNamed(crate0:DefIndex(0:0), 's)) T))
|
for<'r, 's> extern "rust-call" fn((std::option::Option<std::cell::Cell<&'_#1r &ReLateBound(DebruijnIndex { index: 0 }, BrNamed(crate0:DefIndex(0:0), 'r)) ()>>, &ReLateBound(DebruijnIndex { index: 0 }, BrNamed(crate0:DefIndex(0:0), 's)) T))
|
||||||
]
|
]
|
||||||
= note: number of external vids: 2
|
= note: number of external vids: 2
|
||||||
= note: where T: '_#1r
|
= note: where T: '_#1r
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue