diff options
Diffstat (limited to 'tests/ui/traits/new-solver/overflow/exponential-trait-goals.rs')
-rw-r--r-- | tests/ui/traits/new-solver/overflow/exponential-trait-goals.rs | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/tests/ui/traits/new-solver/overflow/exponential-trait-goals.rs b/tests/ui/traits/new-solver/overflow/exponential-trait-goals.rs new file mode 100644 index 000000000..b37f09ee1 --- /dev/null +++ b/tests/ui/traits/new-solver/overflow/exponential-trait-goals.rs @@ -0,0 +1,20 @@ +// compile-flags: -Ztrait-solver=next + +trait Trait {} + +struct W<T>(T); + +impl<T, U> Trait for W<(W<T>, W<U>)> +where + W<T>: Trait, + W<U>: Trait, +{ +} + +fn impls<T: Trait>() {} + +fn main() { + impls::<W<_>>(); + //~^ ERROR type annotations needed + //~| ERROR overflow evaluating the requirement `W<_>: Trait` +} |