diff options
Diffstat (limited to 'tests/ui/traits/next-solver/overflow/coherence-alias-hang.rs')
| -rw-r--r-- | tests/ui/traits/next-solver/overflow/coherence-alias-hang.rs | 16 |
1 files changed, 9 insertions, 7 deletions
diff --git a/tests/ui/traits/next-solver/overflow/coherence-alias-hang.rs b/tests/ui/traits/next-solver/overflow/coherence-alias-hang.rs index f88f74680b9..4874e2e1f99 100644 --- a/tests/ui/traits/next-solver/overflow/coherence-alias-hang.rs +++ b/tests/ui/traits/next-solver/overflow/coherence-alias-hang.rs @@ -4,16 +4,18 @@ // Regression test for nalgebra hang <https://github.com/rust-lang/rust/issues/130056>. #![feature(lazy_type_alias)] +#![feature(rustc_attrs)] +#![rustc_no_implicit_bounds] #![allow(incomplete_features)] -type Id<T: ?Sized> = T; +type Id<T> = T; trait NotImplemented {} -struct W<T: ?Sized, U: ?Sized>(*const T, *const U); +struct W<T, U>(*const T, *const U); trait Trait { - type Assoc: ?Sized; + type Assoc; } -impl<T: ?Sized + Trait> Trait for W<T, T> { +impl<T: Trait> Trait for W<T, T> { #[cfg(ai)] type Assoc = W<T::Assoc, Id<T::Assoc>>; #[cfg(ia)] @@ -22,8 +24,8 @@ impl<T: ?Sized + Trait> Trait for W<T, T> { type Assoc = W<Id<T::Assoc>, Id<T::Assoc>>; } -trait Overlap<T: ?Sized> {} -impl<T: ?Sized> Overlap<T> for W<T, T> {} -impl<T: ?Sized + Trait + NotImplemented> Overlap<T::Assoc> for T {} +trait Overlap<T> {} +impl<T> Overlap<T> for W<T, T> {} +impl<T: Trait + NotImplemented> Overlap<T::Assoc> for T {} fn main() {} |
