summaryrefslogtreecommitdiffstats
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 000000000..7519ba282
--- /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
+}