summaryrefslogtreecommitdiffstats
path: root/tests/coverage/generics.coverage
diff options
context:
space:
mode:
Diffstat (limited to 'tests/coverage/generics.coverage')
-rw-r--r--tests/coverage/generics.coverage67
1 files changed, 67 insertions, 0 deletions
diff --git a/tests/coverage/generics.coverage b/tests/coverage/generics.coverage
new file mode 100644
index 000000000..098391835
--- /dev/null
+++ b/tests/coverage/generics.coverage
@@ -0,0 +1,67 @@
+ LL| |#![allow(unused_assignments)]
+ LL| |// failure-status: 1
+ LL| |
+ LL| |struct Firework<T> where T: Copy + std::fmt::Display {
+ LL| | strength: T,
+ LL| |}
+ LL| |
+ LL| |impl<T> Firework<T> where T: Copy + std::fmt::Display {
+ LL| | #[inline(always)]
+ LL| 3| fn set_strength(&mut self, new_strength: T) {
+ LL| 3| self.strength = new_strength;
+ LL| 3| }
+ ------------------
+ | <generics::Firework<f64>>::set_strength:
+ | LL| 2| fn set_strength(&mut self, new_strength: T) {
+ | LL| 2| self.strength = new_strength;
+ | LL| 2| }
+ ------------------
+ | <generics::Firework<i32>>::set_strength:
+ | LL| 1| fn set_strength(&mut self, new_strength: T) {
+ | LL| 1| self.strength = new_strength;
+ | LL| 1| }
+ ------------------
+ LL| |}
+ LL| |
+ LL| |impl<T> Drop for Firework<T> where T: Copy + std::fmt::Display {
+ LL| | #[inline(always)]
+ LL| 2| fn drop(&mut self) {
+ LL| 2| println!("BOOM times {}!!!", self.strength);
+ LL| 2| }
+ ------------------
+ | <generics::Firework<f64> as core::ops::drop::Drop>::drop:
+ | LL| 1| fn drop(&mut self) {
+ | LL| 1| println!("BOOM times {}!!!", self.strength);
+ | LL| 1| }
+ ------------------
+ | <generics::Firework<i32> as core::ops::drop::Drop>::drop:
+ | LL| 1| fn drop(&mut self) {
+ | LL| 1| println!("BOOM times {}!!!", self.strength);
+ | LL| 1| }
+ ------------------
+ LL| |}
+ LL| |
+ LL| 1|fn main() -> Result<(), u8> {
+ LL| 1| let mut firecracker = Firework { strength: 1 };
+ LL| 1| firecracker.set_strength(2);
+ LL| 1|
+ LL| 1| let mut tnt = Firework { strength: 100.1 };
+ LL| 1| tnt.set_strength(200.1);
+ LL| 1| tnt.set_strength(300.3);
+ LL| 1|
+ LL| 1| if true {
+ LL| 1| println!("Exiting with error...");
+ LL| 1| return Err(1);
+ LL| 0| }
+ LL| 0|
+ LL| 0| let _ = Firework { strength: 1000 };
+ LL| 0|
+ LL| 0| Ok(())
+ LL| 1|}
+ LL| |
+ LL| |// Expected program output:
+ LL| |// Exiting with error...
+ LL| |// BOOM times 100!!!
+ LL| |// BOOM times 1!!!
+ LL| |// Error: 1
+