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/mir/issue-75053.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/mir/issue-75053.rs')
-rw-r--r-- | src/test/ui/mir/issue-75053.rs | 49 |
1 files changed, 0 insertions, 49 deletions
diff --git a/src/test/ui/mir/issue-75053.rs b/src/test/ui/mir/issue-75053.rs deleted file mode 100644 index cb56eaa0b..000000000 --- a/src/test/ui/mir/issue-75053.rs +++ /dev/null @@ -1,49 +0,0 @@ -// compile-flags: -Z mir-opt-level=3 - -#![feature(type_alias_impl_trait, rustc_attrs)] - -use std::marker::PhantomData; - -trait MyIndex<T> { - type O; - fn my_index(self) -> Self::O; -} -trait MyFrom<T>: Sized { - type Error; - fn my_from(value: T) -> Result<Self, Self::Error>; -} - -trait F {} -impl F for () {} -type DummyT<T> = impl F; -fn _dummy_t<T>() -> DummyT<T> {} - -struct Phantom1<T>(PhantomData<T>); -struct Phantom2<T>(PhantomData<T>); -struct Scope<T>(Phantom2<DummyT<T>>); - -impl<T> Scope<T> { - fn new() -> Self { - unimplemented!() - } -} - -impl<T> MyFrom<Phantom2<T>> for Phantom1<T> { - type Error = (); - fn my_from(_: Phantom2<T>) -> Result<Self, Self::Error> { - unimplemented!() - } -} - -impl<T: MyFrom<Phantom2<DummyT<U>>>, U> MyIndex<Phantom1<T>> for Scope<U> { - type O = T; - fn my_index(self) -> Self::O { - MyFrom::my_from(self.0).ok().unwrap() - } -} - -#[rustc_error] -fn main() { - //~^ ERROR - let _pos: Phantom1<DummyT<()>> = Scope::new().my_index(); -} |