diff options
Diffstat (limited to 'src')
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 + |
