diff options
| author | Matthias Krüger <matthias.krueger@famsik.de> | 2024-09-12 19:03:43 +0200 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2024-09-12 19:03:43 +0200 |
| commit | ed1602e480a77540593c907a36de7ca3eac3ac81 (patch) | |
| tree | 31f557c0192b0490462cb8bba45c24178e890951 | |
| parent | cb1d80d1e50a467c5f9fa69a1d46b4213c52dbb5 (diff) | |
| parent | d3ebd232a5f6765373b8b7ef23ed5b87477fbd1e (diff) | |
Rollup merge of #130276 - compiler-errors:nalgebra-hang, r=lcnr
Add test for nalgebra hang in coherence r? lcnr
| -rw-r--r-- | tests/ui/traits/coherence-alias-hang.rs | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/tests/ui/traits/coherence-alias-hang.rs b/tests/ui/traits/coherence-alias-hang.rs new file mode 100644 index 00000000000..37b80739589 --- /dev/null +++ b/tests/ui/traits/coherence-alias-hang.rs @@ -0,0 +1,23 @@ +//@ check-pass + +// Regression test for nalgebra hang <https://github.com/rust-lang/rust/issues/130056>. + +#![feature(lazy_type_alias)] +#![allow(incomplete_features)] + +type Id<T: ?Sized> = T; +trait NotImplemented {} + +struct W<T: ?Sized, U: ?Sized>(*const T, *const U); +trait Trait { + type Assoc: ?Sized; +} +impl<T: ?Sized + Trait> Trait for W<T, T> { + type Assoc = W<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 {} + +fn main() {} |
