File tree Expand file tree Collapse file tree 2 files changed +43
-0
lines changed Expand file tree Collapse file tree 2 files changed +43
-0
lines changed Original file line number Diff line number Diff line change 1+ //@ check-pass
2+ // Regression test for <https://github.com/rust-lang/rust/issues/123303>.
3+ // This time EXCEPT without `dyn` builtin bounds :^)
4+
5+ pub trait Trait : Supertrait { }
6+
7+ trait Impossible { }
8+ impl < F : ?Sized + Impossible > Trait for F { }
9+
10+ pub trait Supertrait { }
11+
12+ impl < T : ?Sized + Trait + Impossible > Supertrait for T { }
13+
14+ fn needs_supertrait < T : ?Sized + Supertrait > ( ) { }
15+ fn needs_trait < T : ?Sized + Trait > ( ) { }
16+
17+ struct A ;
18+ impl Trait for A where A : Supertrait { }
19+ impl Supertrait for A { }
20+
21+ fn main ( ) {
22+ needs_supertrait :: < A > ( ) ;
23+ needs_trait :: < A > ( ) ;
24+ }
Original file line number Diff line number Diff line change 1+ //@ check-pass
2+ // Regression test for <https://github.com/rust-lang/rust/issues/123303>.
3+
4+ pub trait Trait : Supertrait { }
5+
6+ trait Impossible { }
7+ impl < F : ?Sized + Impossible > Trait for F { }
8+
9+ pub trait Supertrait { }
10+
11+ impl < T : ?Sized + Trait + Impossible > Supertrait for T { }
12+
13+ fn needs_supertrait < T : ?Sized + Supertrait > ( ) { }
14+ fn needs_trait < T : ?Sized + Trait > ( ) { }
15+
16+ fn main ( ) {
17+ needs_supertrait :: < dyn Trait > ( ) ;
18+ needs_trait :: < dyn Trait > ( ) ;
19+ }
You can’t perform that action at this time.
0 commit comments