about summary refs log tree commit diff
path: root/tests/ui/issues/issue-11374.rs
diff options
context:
space:
mode:
Diffstat (limited to 'tests/ui/issues/issue-11374.rs')
-rw-r--r--tests/ui/issues/issue-11374.rs27
1 files changed, 27 insertions, 0 deletions
diff --git a/tests/ui/issues/issue-11374.rs b/tests/ui/issues/issue-11374.rs
new file mode 100644
index 00000000000..7519ba2826e
--- /dev/null
+++ b/tests/ui/issues/issue-11374.rs
@@ -0,0 +1,27 @@
+use std::io::{self, Read};
+use std::vec;
+
+pub struct Container<'a> {
+    reader: &'a mut dyn Read
+}
+
+impl<'a> Container<'a> {
+    pub fn wrap<'s>(reader: &'s mut dyn io::Read) -> Container<'s> {
+        Container { reader: reader }
+    }
+
+    pub fn read_to(&mut self, vec: &mut [u8]) {
+        self.reader.read(vec);
+    }
+}
+
+pub fn for_stdin<'a>() -> Container<'a> {
+    let mut r = io::stdin();
+    Container::wrap(&mut r as &mut dyn io::Read)
+}
+
+fn main() {
+    let mut c = for_stdin();
+    let mut v = Vec::new();
+    c.read_to(v); //~ ERROR E0308
+}