diff options
Diffstat (limited to 'src/test/ui/span/dropck_misc_variants.rs')
-rw-r--r-- | src/test/ui/span/dropck_misc_variants.rs | 37 |
1 files changed, 0 insertions, 37 deletions
diff --git a/src/test/ui/span/dropck_misc_variants.rs b/src/test/ui/span/dropck_misc_variants.rs deleted file mode 100644 index 5818a94bc..000000000 --- a/src/test/ui/span/dropck_misc_variants.rs +++ /dev/null @@ -1,37 +0,0 @@ -// check that dropck does the right thing with misc. Ty variants - -use std::fmt; -struct NoisyDrop<T: fmt::Debug>(T); -impl<T: fmt::Debug> Drop for NoisyDrop<T> { - fn drop(&mut self) { - let _ = vec!["0wned"]; - println!("dropping {:?}", self.0) - } -} - -trait Associator { - type As; -} -impl<T: fmt::Debug> Associator for T { - type As = NoisyDrop<T>; -} -struct Wrap<A: Associator>(<A as Associator>::As); - -fn projection() { - let (_w, bomb); - bomb = vec![""]; - _w = Wrap::<&[&str]>(NoisyDrop(&bomb)); -} -//~^^ ERROR `bomb` does not live long enough - -fn closure() { - let (_w,v); - v = vec![""]; - _w = { - let u = NoisyDrop(&v); - //~^ ERROR `v` does not live long enough - move || u.0.len() - }; -} - -fn main() { closure(); projection() } |