summaryrefslogtreecommitdiffstats
path: root/src/test/ui/drop-bounds/drop-bounds-impl-drop.rs
diff options
context:
space:
mode:
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.rs14
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();
+}