summaryrefslogtreecommitdiffstats
path: root/tests/ui/traits/next-solver/equating-projection-cyclically.rs
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--tests/ui/traits/next-solver/equating-projection-cyclically.rs (renamed from tests/ui/traits/new-solver/equating-projection-cyclically.rs)7
1 files changed, 5 insertions, 2 deletions
diff --git a/tests/ui/traits/new-solver/equating-projection-cyclically.rs b/tests/ui/traits/next-solver/equating-projection-cyclically.rs
index 2668da1b7..e7c80cfd7 100644
--- a/tests/ui/traits/new-solver/equating-projection-cyclically.rs
+++ b/tests/ui/traits/next-solver/equating-projection-cyclically.rs
@@ -1,4 +1,5 @@
-// compile-flags: -Ztrait-solver=next
+// check-pass
+// compile-flags: -Znext-solver
trait Test {
type Assoc;
@@ -22,7 +23,9 @@ 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`.
+ //
+ // We end up emitting a delayed obligation, causing this to still
+ // succeed.
x = transform(x);
- //~^ ERROR mismatched types
x = Inv::<i32>(None);
}