diff options
Diffstat (limited to '')
-rw-r--r-- | src/test/ui/type_length_limit.rs | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/src/test/ui/type_length_limit.rs b/src/test/ui/type_length_limit.rs new file mode 100644 index 000000000..ce6fdf811 --- /dev/null +++ b/src/test/ui/type_length_limit.rs @@ -0,0 +1,29 @@ +// build-fail +// error-pattern: reached the type-length limit while instantiating +// compile-flags: -Copt-level=0 +// normalize-stderr-test: ".nll/" -> "/" + +// Test that the type length limit can be changed. +// The exact type depends on optimizations, so disable them. + +#![allow(dead_code)] +#![type_length_limit="4"] + +macro_rules! link { + ($id:ident, $t:ty) => { + pub type $id = ($t, $t, $t); + } +} + +link! { A, B } +link! { B, C } +link! { C, D } +link! { D, E } +link! { E, F } +link! { F, G } + +pub struct G; + +fn main() { + drop::<Option<A>>(None); +} |