Skip to content

Commit 56dbeeb

Browse files
Add regression tests for 123303
1 parent 88296bd commit 56dbeeb

File tree

2 files changed

+43
-0
lines changed

2 files changed

+43
-0
lines changed
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
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 numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
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+
}

0 commit comments

Comments
 (0)