Skip to content

Commit c5f02dc

Browse files
committed
Add regression tests
1 parent 9bc563e commit c5f02dc

1 file changed

Lines changed: 34 additions & 0 deletions

File tree

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
#![feature(try_as_dyn)]
2+
//@ check-pass
3+
4+
use std::any::try_as_dyn;
5+
6+
struct Thing<T>(T);
7+
trait Trait {}
8+
impl<T> Trait for Thing<T> {}
9+
10+
const _: () = {
11+
let thing = Thing(1);
12+
assert!(try_as_dyn::<_, dyn Trait>(&thing).is_none());
13+
};
14+
15+
struct Thing2<T>(T);
16+
impl<T: std::fmt::Debug> Trait for Thing2<T> {}
17+
18+
const _: () = {
19+
let thing = Thing2(1);
20+
assert!(try_as_dyn::<_, dyn Trait>(&thing).is_none());
21+
};
22+
23+
trait Trait2 {}
24+
impl<'a, 'b> Trait2 for &'a &'b () {}
25+
26+
struct Thing3<T>(T);
27+
impl<T: Trait2> Trait for Thing3<T> {}
28+
29+
const _: () = {
30+
let thing = Thing3(&&());
31+
assert!(try_as_dyn::<_, dyn Trait2>(&thing).is_none());
32+
};
33+
34+
fn main() {}

0 commit comments

Comments
 (0)