Add test for overflow when finding auto-trait impls in Rustdoc
This commit is contained in:
parent
ba2ef58ae6
commit
e9b0ce8afa
35
src/test/rustdoc/synthetic_auto/overflow.rs
Normal file
35
src/test/rustdoc/synthetic_auto/overflow.rs
Normal file
@ -0,0 +1,35 @@
|
||||
// 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<TyData<Self>>;
|
||||
}
|
||||
|
||||
enum TyData<I: Interner> {
|
||||
FnDef(I::InternedType)
|
||||
}
|
||||
|
||||
struct VariableKind<I: Interner>(I::InternedType);
|
||||
|
||||
// @has overflow/struct.BoundVarsCollector.html
|
||||
// @has - '//code' "impl<'tcx> Send for BoundVarsCollector<'tcx>"
|
||||
pub struct BoundVarsCollector<'tcx> {
|
||||
val: VariableKind<RustInterner<'tcx>>
|
||||
}
|
||||
|
||||
fn is_send<T: Send>() {}
|
||||
|
||||
struct MyInterner<'tcx> {
|
||||
val: &'tcx ()
|
||||
}
|
||||
|
||||
fn main() {}
|
Loading…
x
Reference in New Issue
Block a user