summaryrefslogtreecommitdiffstats
path: root/src/test/ui/suggestions/mut-borrow-needed-by-trait.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/test/ui/suggestions/mut-borrow-needed-by-trait.rs')
-rw-r--r--src/test/ui/suggestions/mut-borrow-needed-by-trait.rs22
1 files changed, 22 insertions, 0 deletions
diff --git a/src/test/ui/suggestions/mut-borrow-needed-by-trait.rs b/src/test/ui/suggestions/mut-borrow-needed-by-trait.rs
new file mode 100644
index 000000000..66e1e77c9
--- /dev/null
+++ b/src/test/ui/suggestions/mut-borrow-needed-by-trait.rs
@@ -0,0 +1,22 @@
+use std::env::args;
+use std::fs::File;
+use std::io::{stdout, Write, BufWriter};
+
+fn main() {
+ let mut args = args();
+ let _ = args.next();
+ let dest = args.next();
+
+ let h1; let h2; let h3;
+
+ let fp: &dyn Write = match dest {
+ Some(path) => { h1 = File::create(path).unwrap(); &h1 },
+ None => { h2 = stdout(); h3 = h2.lock(); &h3 }
+ };
+
+ let fp = BufWriter::new(fp);
+ //~^ ERROR the trait bound `&dyn std::io::Write: std::io::Write` is not satisfied
+ //~| ERROR the trait bound `&dyn std::io::Write: std::io::Write` is not satisfied
+
+ writeln!(fp, "hello world").unwrap(); //~ ERROR the method
+}