summaryrefslogtreecommitdiffstats
path: root/tests/ui/traits/new-solver/equating-projection-cyclically.rs
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-06-19 09:26:03 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-06-19 09:26:03 +0000
commit9918693037dce8aa4bb6f08741b6812923486c18 (patch)
tree21d2b40bec7e6a7ea664acee056eb3d08e15a1cf /tests/ui/traits/new-solver/equating-projection-cyclically.rs
parentReleasing progress-linux version 1.75.0+dfsg1-5~progress7.99u1. (diff)
downloadrustc-9918693037dce8aa4bb6f08741b6812923486c18.tar.xz
rustc-9918693037dce8aa4bb6f08741b6812923486c18.zip
Merging upstream version 1.76.0+dfsg1.
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'tests/ui/traits/new-solver/equating-projection-cyclically.rs')
-rw-r--r--tests/ui/traits/new-solver/equating-projection-cyclically.rs28
1 files changed, 0 insertions, 28 deletions
diff --git a/tests/ui/traits/new-solver/equating-projection-cyclically.rs b/tests/ui/traits/new-solver/equating-projection-cyclically.rs
deleted file mode 100644
index 2668da1b7..000000000
--- a/tests/ui/traits/new-solver/equating-projection-cyclically.rs
+++ /dev/null
@@ -1,28 +0,0 @@
-// compile-flags: -Ztrait-solver=next
-
-trait Test {
- type Assoc;
-}
-
-fn transform<T: Test>(x: Inv<T>) -> Inv<T::Assoc> {
- todo!()
-}
-
-impl Test for i32 {
- type Assoc = i32;
-}
-
-impl Test for String {
- type Assoc = String;
-}
-
-struct Inv<T>(Option<*mut T>);
-
-fn main() {
- let mut x: Inv<_> = Inv(None);
- // This ends up equating `Inv<?x>` with `Inv<<?x as Test>::Assoc>`
- // which fails the occurs check when generalizing `?x`.
- x = transform(x);
- //~^ ERROR mismatched types
- x = Inv::<i32>(None);
-}