diff options
| author | Aaron Hill <aa1ronham@gmail.com> | 2020-06-13 20:19:52 -0400 |
|---|---|---|
| committer | Matthew Jasper <mjjasper1@gmail.com> | 2020-06-18 17:54:14 +0100 |
| commit | e9b0ce8afa5635d3825b5e76e0b3593d9086778a (patch) | |
| tree | 7e75ff278ef0116080944b220e6d3c57a1ca92e0 /src/test/rustdoc | |
| parent | ba2ef58ae6c126ec0b87b307d45fef2da127be22 (diff) | |
Add test for overflow when finding auto-trait impls in Rustdoc
Diffstat (limited to 'src/test/rustdoc')
| -rw-r--r-- | src/test/rustdoc/synthetic_auto/overflow.rs | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/src/test/rustdoc/synthetic_auto/overflow.rs b/src/test/rustdoc/synthetic_auto/overflow.rs new file mode 100644 index 00000000000..546b3e07793 --- /dev/null +++ b/src/test/rustdoc/synthetic_auto/overflow.rs @@ -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() {} |
