diff options
Diffstat (limited to 'src/test/ui/drop-bounds/drop-bounds-impl-drop.rs')
-rw-r--r-- | src/test/ui/drop-bounds/drop-bounds-impl-drop.rs | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/src/test/ui/drop-bounds/drop-bounds-impl-drop.rs b/src/test/ui/drop-bounds/drop-bounds-impl-drop.rs new file mode 100644 index 000000000..063efc7b3 --- /dev/null +++ b/src/test/ui/drop-bounds/drop-bounds-impl-drop.rs @@ -0,0 +1,14 @@ +// run-pass +#![deny(drop_bounds)] +// As a special exemption, `impl Drop` in the return position raises no error. +// This allows a convenient way to return an unnamed drop guard. +fn voldemort_type() -> impl Drop { + struct Voldemort; + impl Drop for Voldemort { + fn drop(&mut self) {} + } + Voldemort +} +fn main() { + let _ = voldemort_type(); +} |