summaryrefslogtreecommitdiffstats
path: root/src/test/ui/span/dropck_misc_variants.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/test/ui/span/dropck_misc_variants.rs')
-rw-r--r--src/test/ui/span/dropck_misc_variants.rs37
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() }