diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-17 12:19:03 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-17 12:19:03 +0000 |
commit | 64d98f8ee037282c35007b64c2649055c56af1db (patch) | |
tree | 5492bcf97fce41ee1c0b1cc2add283f3e66cdab0 /src/test/ui/type-alias-impl-trait/issue-90400-2.rs | |
parent | Adding debian version 1.67.1+dfsg1-1. (diff) | |
download | rustc-64d98f8ee037282c35007b64c2649055c56af1db.tar.xz rustc-64d98f8ee037282c35007b64c2649055c56af1db.zip |
Merging upstream version 1.68.2+dfsg1.
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'src/test/ui/type-alias-impl-trait/issue-90400-2.rs')
-rw-r--r-- | src/test/ui/type-alias-impl-trait/issue-90400-2.rs | 37 |
1 files changed, 0 insertions, 37 deletions
diff --git a/src/test/ui/type-alias-impl-trait/issue-90400-2.rs b/src/test/ui/type-alias-impl-trait/issue-90400-2.rs deleted file mode 100644 index 4c6e893c1..000000000 --- a/src/test/ui/type-alias-impl-trait/issue-90400-2.rs +++ /dev/null @@ -1,37 +0,0 @@ -// Regression test for #90400, -// taken from https://github.com/rust-lang/rust/issues/90400#issuecomment-954927836 - -#![feature(type_alias_impl_trait)] - -trait Bar { - fn bar(&self); -} - -trait Baz { - fn baz(&self); -} - -trait Foo { - type FooFn<B>: Baz; - - fn foo<B: Bar>(&self, bar: B) -> Self::FooFn<B>; -} - -struct MyFoo; -impl Foo for MyFoo { - type FooFn<B> = impl Baz; - - fn foo<B: Bar>(&self, bar: B) -> Self::FooFn<B> { - MyBaz(bar) //~ ERROR: the trait bound `B: Bar` is not satisfied - } -} - -struct MyBaz<B: Bar>(B); -impl<B: Bar> Baz for MyBaz<B> { - fn baz(&self) {} -} - -fn main() { - let boom: <MyFoo as Foo>::FooFn<u32> = unsafe { core::mem::zeroed() }; - boom.baz(); -} |