// Tests that we don't fail with an overflow error for certain // strange types // See https://github.com/rust-lang/rust/pull/72936#issuecomment-643676915 pub trait Interner { type InternedType; } struct RustInterner<'tcx> { foo: &'tcx () } impl<'tcx> Interner for RustInterner<'tcx> { type InternedType = Box>; } enum TyData { FnDef(I::InternedType) } struct VariableKind(I::InternedType); //@ has overflow/struct.BoundVarsCollector.html //@ has - '//h3[@class="code-header"]' "impl<'tcx> Send for BoundVarsCollector<'tcx>" pub struct BoundVarsCollector<'tcx> { val: VariableKind> } fn is_send() {} struct MyInterner<'tcx> { val: &'tcx () } fn main() {}