summaryrefslogtreecommitdiffstats
path: root/src/test/ui/suggestions/suggest-change-mut.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/test/ui/suggestions/suggest-change-mut.rs')
-rw-r--r--src/test/ui/suggestions/suggest-change-mut.rs21
1 files changed, 21 insertions, 0 deletions
diff --git a/src/test/ui/suggestions/suggest-change-mut.rs b/src/test/ui/suggestions/suggest-change-mut.rs
new file mode 100644
index 000000000..47dc7c343
--- /dev/null
+++ b/src/test/ui/suggestions/suggest-change-mut.rs
@@ -0,0 +1,21 @@
+#![allow(warnings)]
+
+use std::io::{BufRead, BufReader, Read, Write};
+
+fn issue_81421<T: Read + Write>(mut stream: T) { //~ HELP consider introducing a `where` clause
+ let initial_message = format!("Hello world");
+ let mut buffer: Vec<u8> = Vec::new();
+ let bytes_written = stream.write_all(initial_message.as_bytes());
+ let flush = stream.flush();
+
+ loop {
+ let mut stream_reader = BufReader::new(&stream);
+ //~^ ERROR the trait bound `&T: std::io::Read` is not satisfied [E0277]
+ //~| HELP consider removing the leading `&`-reference
+ //~| HELP consider changing this borrow's mutability
+ stream_reader.read_until(b'\n', &mut buffer).expect("Reading into buffer failed");
+ //~^ ERROR the method `read_until` exists for struct `BufReader<&T>`,
+ }
+}
+
+fn main() {}