diff --git a/src/test/ui/async-await/dyn-star-trait-drop.rs b/src/test/ui/async-await/dyn-star-trait-drop.rs new file mode 100644 index 000000000000..b1c987351fcf --- /dev/null +++ b/src/test/ui/async-await/dyn-star-trait-drop.rs @@ -0,0 +1,22 @@ +// run-pass +// check-run-results +#![feature(async_fn_in_traits)] + +use std::fmt::Debug; + +#[derive(Debug)] +struct Foo(usize); + +impl Drop for Foo { + fn drop(&mut self) { + println!("destructor called"); + } +} + +fn make_dyn_star(i: Foo) { + let _dyn_i: dyn* Debug = i as dyn* Debug; +} + +fn main() { + make_dyn_star(Foo(42)); +} diff --git a/src/test/ui/async-await/dyn-star-trait-drop.run.stdout b/src/test/ui/async-await/dyn-star-trait-drop.run.stdout new file mode 100644 index 000000000000..dadb33ccf3ac --- /dev/null +++ b/src/test/ui/async-await/dyn-star-trait-drop.run.stdout @@ -0,0 +1 @@ +destructor called