diff options
Diffstat (limited to 'tests/ui/issues/issue-7673-cast-generically-implemented-trait.rs')
-rw-r--r-- | tests/ui/issues/issue-7673-cast-generically-implemented-trait.rs | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/tests/ui/issues/issue-7673-cast-generically-implemented-trait.rs b/tests/ui/issues/issue-7673-cast-generically-implemented-trait.rs new file mode 100644 index 000000000..c089c3308 --- /dev/null +++ b/tests/ui/issues/issue-7673-cast-generically-implemented-trait.rs @@ -0,0 +1,20 @@ +// check-pass +#![allow(dead_code)] +// pretty-expanded FIXME #23616 + +/* + +#7673 Polymorphically creating traits barely works + +*/ + +pub fn main() {} + +trait A { + fn dummy(&self) { } +} + +impl<T: 'static> A for T {} + +fn owned2<T: 'static>(a: Box<T>) { a as Box<dyn A>; } +fn owned3<T: 'static>(a: Box<T>) { Box::new(a) as Box<dyn A>; } |