diff options
Diffstat (limited to 'tests/ui/impl-trait/in-trait/dyn-compatibility.rs')
| -rw-r--r-- | tests/ui/impl-trait/in-trait/dyn-compatibility.rs | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/tests/ui/impl-trait/in-trait/dyn-compatibility.rs b/tests/ui/impl-trait/in-trait/dyn-compatibility.rs new file mode 100644 index 00000000000..5cca4ad839c --- /dev/null +++ b/tests/ui/impl-trait/in-trait/dyn-compatibility.rs @@ -0,0 +1,20 @@ +use std::fmt::Debug; + +trait Foo { + fn baz(&self) -> impl Debug; +} + +impl Foo for u32 { + fn baz(&self) -> impl Debug { + 32 + } +} + +fn main() { + let i = Box::new(42_u32) as Box<dyn Foo>; + //~^ ERROR the trait `Foo` cannot be made into an object + //~| ERROR the trait `Foo` cannot be made into an object + let s = i.baz(); + //~^ ERROR the trait `Foo` cannot be made into an object + //~| ERROR the trait `Foo` cannot be made into an object +} |
