summaryrefslogtreecommitdiffstats
path: root/src/test/ui/issues/issue-18937.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/test/ui/issues/issue-18937.rs')
-rw-r--r--src/test/ui/issues/issue-18937.rs40
1 files changed, 0 insertions, 40 deletions
diff --git a/src/test/ui/issues/issue-18937.rs b/src/test/ui/issues/issue-18937.rs
deleted file mode 100644
index af85e5b2b..000000000
--- a/src/test/ui/issues/issue-18937.rs
+++ /dev/null
@@ -1,40 +0,0 @@
-// Regression test for #18937.
-
-use std::fmt;
-
-#[derive(Debug)]
-struct MyString<'a>(&'a String);
-
-struct B {
- list: Vec<Box<dyn fmt::Debug>>,
-}
-
-trait A<'a> {
- fn foo<F>(&mut self, f: F)
- where F: fmt::Debug + 'a,
- Self: Sized;
-}
-
-impl<'a> A<'a> for B {
- fn foo<F>(&mut self, f: F)
- where F: fmt::Debug + 'static, //~ ERROR impl has stricter
- {
- self.list.push(Box::new(f));
- }
-}
-
-fn main() {
- let mut b = B { list: Vec::new() };
-
- // Create a borrowed pointer, put it in `b`, then drop what's borrowing it
- let a = "hello".to_string();
- b.foo(MyString(&a));
-
- // Drop the data which `b` has a reference to
- drop(a);
-
- // Use the data, probably segfaulting
- for b in b.list.iter() {
- println!("{:?}", b);
- }
-}