about summary refs log tree commit diff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/test/ui/type-alias-impl-trait/associated-type-lifetime-ice.rs33
-rw-r--r--src/test/ui/type-alias-impl-trait/associated-type-lifetime-ice.stderr13
-rw-r--r--src/test/ui/type-alias-impl-trait/issue-78450.rs27
-rw-r--r--src/test/ui/type-alias-impl-trait/issue-78450.stderr11
4 files changed, 38 insertions, 46 deletions
diff --git a/src/test/ui/type-alias-impl-trait/associated-type-lifetime-ice.rs b/src/test/ui/type-alias-impl-trait/associated-type-lifetime-ice.rs
deleted file mode 100644
index 967d4c3f0f7..00000000000
--- a/src/test/ui/type-alias-impl-trait/associated-type-lifetime-ice.rs
+++ /dev/null
@@ -1,33 +0,0 @@
-// failure-status: 101
-// rustc-env:RUST_BACKTRACE=0
-// normalize-stderr-test "note: .*\n\n" -> ""
-// normalize-stderr-test "thread 'rustc' panicked.*\n" -> ""
-
-// compile-flags: --crate-type=rlib
-
-// Regression test for https://github.com/rust-lang/rust/issues/78450
-
-#![feature(min_type_alias_impl_trait)]
-#![no_std]
-
-pub trait AssociatedImpl {
-    type ImplTrait;
-
-    fn f() -> Self::ImplTrait;
-}
-
-struct S<T>(T);
-
-trait Associated {
-    type A;
-}
-
-// ICE
-impl<'a, T: Associated<A = &'a ()>> AssociatedImpl for S<T> {
-    type ImplTrait = impl core::fmt::Debug;
-
-    fn f() -> Self::ImplTrait {
-    //~^ ERROR unexpected concrete region in borrowck: ReEarlyBound(0, 'a)
-        ()
-    }
-}
diff --git a/src/test/ui/type-alias-impl-trait/associated-type-lifetime-ice.stderr b/src/test/ui/type-alias-impl-trait/associated-type-lifetime-ice.stderr
deleted file mode 100644
index 64ab7b70b1a..00000000000
--- a/src/test/ui/type-alias-impl-trait/associated-type-lifetime-ice.stderr
+++ /dev/null
@@ -1,13 +0,0 @@
-error: internal compiler error: unexpected concrete region in borrowck: ReEarlyBound(0, 'a)
-  --> $DIR/associated-type-lifetime-ice.rs:29:5
-   |
-LL | /     fn f() -> Self::ImplTrait {
-LL | |
-LL | |         ()
-LL | |     }
-   | |_____^
-   |
-   = error: internal compiler error: unexpected panic
-
-query stack during panic:
-end of query stack
diff --git a/src/test/ui/type-alias-impl-trait/issue-78450.rs b/src/test/ui/type-alias-impl-trait/issue-78450.rs
new file mode 100644
index 00000000000..640f929f8f1
--- /dev/null
+++ b/src/test/ui/type-alias-impl-trait/issue-78450.rs
@@ -0,0 +1,27 @@
+// check-pass
+
+#![feature(min_type_alias_impl_trait)]
+#![feature(type_alias_impl_trait)]
+//~^ WARNING: the feature `type_alias_impl_trait` is incomplete
+
+pub trait AssociatedImpl {
+    type ImplTrait;
+
+    fn f() -> Self::ImplTrait;
+}
+
+struct S<T>(T);
+
+trait Associated {
+    type A;
+}
+
+impl<'a, T: Associated<A = &'a ()>> AssociatedImpl for S<T> {
+    type ImplTrait = impl core::fmt::Debug;
+
+    fn f() -> Self::ImplTrait {
+        ()
+    }
+}
+
+fn main() {}
diff --git a/src/test/ui/type-alias-impl-trait/issue-78450.stderr b/src/test/ui/type-alias-impl-trait/issue-78450.stderr
new file mode 100644
index 00000000000..efccf6241fb
--- /dev/null
+++ b/src/test/ui/type-alias-impl-trait/issue-78450.stderr
@@ -0,0 +1,11 @@
+warning: the feature `type_alias_impl_trait` is incomplete and may not be safe to use and/or cause compiler crashes
+  --> $DIR/issue-78450.rs:4:12
+   |
+LL | #![feature(type_alias_impl_trait)]
+   |            ^^^^^^^^^^^^^^^^^^^^^
+   |
+   = note: `#[warn(incomplete_features)]` on by default
+   = note: see issue #63063 <https://github.com/rust-lang/rust/issues/63063> for more information
+
+warning: 1 warning emitted
+