diff options
Diffstat (limited to 'src/test/ui/dropck/cleanup-arm-conditional.rs')
| -rw-r--r-- | src/test/ui/dropck/cleanup-arm-conditional.rs | 39 |
1 files changed, 0 insertions, 39 deletions
diff --git a/src/test/ui/dropck/cleanup-arm-conditional.rs b/src/test/ui/dropck/cleanup-arm-conditional.rs deleted file mode 100644 index 38c717089c4..00000000000 --- a/src/test/ui/dropck/cleanup-arm-conditional.rs +++ /dev/null @@ -1,39 +0,0 @@ -// run-pass - -#![allow(stable_features)] -#![allow(unused_imports)] -// Test that cleanup scope for temporaries created in a match -// arm is confined to the match arm itself. - -// pretty-expanded FIXME #23616 - -#![feature(os)] - -use std::os; - -struct Test { x: isize } - -impl Test { - fn get_x(&self) -> Option<Box<isize>> { - Some(Box::new(self.x)) - } -} - -fn do_something(t: &Test) -> isize { - - // The cleanup scope for the result of `t.get_x()` should be the - // arm itself and not the match, otherwise we'll (potentially) get - // a crash trying to free an uninitialized stack slot. - - match t { - &Test { x: 2 } if t.get_x().is_some() => { - t.x * 2 - } - _ => { 22 } - } -} - -pub fn main() { - let t = Test { x: 1 }; - do_something(&t); -} |
