| //@ check-pass |
| // Regression test for <https://github.com/rust-lang/rust/issues/123303>. |
| // This time EXCEPT without `dyn` builtin bounds :^) |
| |
| pub trait Trait: Supertrait {} |
| |
| trait Impossible {} |
| impl<F: ?Sized + Impossible> Trait for F {} |
| |
| pub trait Supertrait {} |
| |
| impl<T: ?Sized + Trait + Impossible> Supertrait for T {} |
| |
| fn needs_supertrait<T: ?Sized + Supertrait>() {} |
| fn needs_trait<T: ?Sized + Trait>() {} |
| |
| struct A; |
| impl Trait for A where A: Supertrait {} |
| impl Supertrait for A {} |
| |
| fn main() { |
| needs_supertrait::<A>(); |
| needs_trait::<A>(); |
| } |