From ef7062dad6300a42b8a13e86ff5743a1d926a5d9 Mon Sep 17 00:00:00 2001 From: Eric Holk Date: Wed, 17 Aug 2022 16:58:49 -0700 Subject: [PATCH] Add test to make sure we run custom destructors --- .../ui/async-await/dyn-star-trait-drop.rs | 22 +++++++++++++++++++ .../dyn-star-trait-drop.run.stdout | 1 + 2 files changed, 23 insertions(+) create mode 100644 src/test/ui/async-await/dyn-star-trait-drop.rs create mode 100644 src/test/ui/async-await/dyn-star-trait-drop.run.stdout 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