diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-17 12:19:13 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-17 12:19:13 +0000 |
commit | 218caa410aa38c29984be31a5229b9fa717560ee (patch) | |
tree | c54bd55eeb6e4c508940a30e94c0032fbd45d677 /src/test/ui/traits/normalize-supertrait.rs | |
parent | Releasing progress-linux version 1.67.1+dfsg1-1~progress7.99u1. (diff) | |
download | rustc-218caa410aa38c29984be31a5229b9fa717560ee.tar.xz rustc-218caa410aa38c29984be31a5229b9fa717560ee.zip |
Merging upstream version 1.68.2+dfsg1.
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'src/test/ui/traits/normalize-supertrait.rs')
-rw-r--r-- | src/test/ui/traits/normalize-supertrait.rs | 37 |
1 files changed, 0 insertions, 37 deletions
diff --git a/src/test/ui/traits/normalize-supertrait.rs b/src/test/ui/traits/normalize-supertrait.rs deleted file mode 100644 index 021a93eac..000000000 --- a/src/test/ui/traits/normalize-supertrait.rs +++ /dev/null @@ -1,37 +0,0 @@ -// Regression test for #77653 -// When monomorphizing `f` we need to prove `dyn Derived<()>: Base<()>`. This -// requires us to normalize the `Base<<() as Proj>::S>` to `Base<()>` when -// comparing the supertrait `Derived<()>` to the expected trait. - -// build-pass - -trait Proj { - type S; -} - -impl Proj for () { - type S = (); -} - -impl Proj for i32 { - type S = i32; -} - -trait Base<T> { - fn is_base(&self); -} - -trait Derived<B: Proj>: Base<B::S> + Base<()> { - fn is_derived(&self); -} - -fn f<P: Proj>(obj: &dyn Derived<P>) { - obj.is_derived(); - Base::<P::S>::is_base(obj); - Base::<()>::is_base(obj); -} - -fn main() { - let x: fn(_) = f::<()>; - let x: fn(_) = f::<i32>; -} |