summaryrefslogtreecommitdiffstats
path: root/tests/run-make/coverage/drop_trait.rs
diff options
context:
space:
mode:
Diffstat (limited to 'tests/run-make/coverage/drop_trait.rs')
-rw-r--r--tests/run-make/coverage/drop_trait.rs33
1 files changed, 33 insertions, 0 deletions
diff --git a/tests/run-make/coverage/drop_trait.rs b/tests/run-make/coverage/drop_trait.rs
new file mode 100644
index 000000000..d15bfc0f8
--- /dev/null
+++ b/tests/run-make/coverage/drop_trait.rs
@@ -0,0 +1,33 @@
+#![allow(unused_assignments)]
+// expect-exit-status-1
+
+struct Firework {
+ strength: i32,
+}
+
+impl Drop for Firework {
+ fn drop(&mut self) {
+ println!("BOOM times {}!!!", self.strength);
+ }
+}
+
+fn main() -> Result<(),u8> {
+ let _firecracker = Firework { strength: 1 };
+
+ let _tnt = Firework { strength: 100 };
+
+ if true {
+ println!("Exiting with error...");
+ return Err(1);
+ }
+
+ let _ = Firework { strength: 1000 };
+
+ Ok(())
+}
+
+// Expected program output:
+// Exiting with error...
+// BOOM times 100!!!
+// BOOM times 1!!!
+// Error: 1