diff options
Diffstat (limited to 'src/test/ui/drop/issue-103107.rs')
-rw-r--r-- | src/test/ui/drop/issue-103107.rs | 37 |
1 files changed, 0 insertions, 37 deletions
diff --git a/src/test/ui/drop/issue-103107.rs b/src/test/ui/drop/issue-103107.rs deleted file mode 100644 index 5f4475956..000000000 --- a/src/test/ui/drop/issue-103107.rs +++ /dev/null @@ -1,37 +0,0 @@ -// check-pass -// compile-flags: -Z validate-mir - -struct Foo<'a>(&'a mut u32); - -impl<'a> Drop for Foo<'a> { - fn drop(&mut self) { - *self.0 = 0; - } -} - -fn and() { - let mut foo = 0; - // This used to compile also before the fix - if true && *Foo(&mut foo).0 == 0 && ({ foo = 0; true}) {} - - // This used to fail before the fix - if *Foo(&mut foo).0 == 0 && ({ foo = 0; true}) {} - - println!("{foo}"); -} - -fn or() { - let mut foo = 0; - // This used to compile also before the fix - if false || *Foo(&mut foo).0 == 1 || ({ foo = 0; true}) {} - - // This used to fail before the fix - if *Foo(&mut foo).0 == 1 || ({ foo = 0; true}) {} - - println!("{foo}"); -} - -fn main() { - and(); - or(); -} |