diff options
Diffstat (limited to 'tests/ui/traits/polymorphic-trait-creation-7673.rs')
| -rw-r--r-- | tests/ui/traits/polymorphic-trait-creation-7673.rs | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/tests/ui/traits/polymorphic-trait-creation-7673.rs b/tests/ui/traits/polymorphic-trait-creation-7673.rs new file mode 100644 index 00000000000..643818ffe1e --- /dev/null +++ b/tests/ui/traits/polymorphic-trait-creation-7673.rs @@ -0,0 +1,20 @@ +// https://github.com/rust-lang/rust/issues/7673 +//@ check-pass +#![allow(dead_code)] + +/* + +#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>; } |
