File tree 2 files changed +43
-0
lines changed
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