summaryrefslogtreecommitdiffstats
path: root/src/test/ui/suggestions/mut-borrow-needed-by-trait.stderr
blob: d121932c842e35324a8a8f1060e4713f8dd8ab0c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
error[E0277]: the trait bound `&dyn std::io::Write: std::io::Write` is not satisfied
  --> $DIR/mut-borrow-needed-by-trait.rs:17:29
   |
LL |     let fp = BufWriter::new(fp);
   |              -------------- ^^ the trait `std::io::Write` is not implemented for `&dyn std::io::Write`
   |              |
   |              required by a bound introduced by this call
   |
   = note: `std::io::Write` is implemented for `&mut dyn std::io::Write`, but not for `&dyn std::io::Write`
note: required by a bound in `BufWriter::<W>::new`
  --> $SRC_DIR/std/src/io/buffered/bufwriter.rs:LL:COL
   |
LL | impl<W: Write> BufWriter<W> {
   |         ^^^^^ required by this bound in `BufWriter::<W>::new`

error[E0277]: the trait bound `&dyn std::io::Write: std::io::Write` is not satisfied
  --> $DIR/mut-borrow-needed-by-trait.rs:17:14
   |
LL |     let fp = BufWriter::new(fp);
   |              ^^^^^^^^^^^^^^^^^^ the trait `std::io::Write` is not implemented for `&dyn std::io::Write`
   |
   = note: `std::io::Write` is implemented for `&mut dyn std::io::Write`, but not for `&dyn std::io::Write`
note: required by a bound in `BufWriter`
  --> $SRC_DIR/std/src/io/buffered/bufwriter.rs:LL:COL
   |
LL | pub struct BufWriter<W: Write> {
   |                         ^^^^^ required by this bound in `BufWriter`

error[E0599]: the method `write_fmt` exists for struct `BufWriter<&dyn std::io::Write>`, but its trait bounds were not satisfied
  --> $DIR/mut-borrow-needed-by-trait.rs:21:5
   |
LL |     writeln!(fp, "hello world").unwrap();
   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^ method cannot be called on `BufWriter<&dyn std::io::Write>` due to unsatisfied trait bounds
   |
  ::: $SRC_DIR/std/src/io/buffered/bufwriter.rs:LL:COL
   |
LL | pub struct BufWriter<W: Write> {
   | ------------------------------ doesn't satisfy `BufWriter<&dyn std::io::Write>: std::io::Write`
   |
   = note: the following trait bounds were not satisfied:
           `&dyn std::io::Write: std::io::Write`
           which is required by `BufWriter<&dyn std::io::Write>: std::io::Write`
   = note: this error originates in the macro `writeln` (in Nightly builds, run with -Z macro-backtrace for more info)

error: aborting due to 3 previous errors

Some errors have detailed explanations: E0277, E0599.
For more information about an error, try `rustc --explain E0277`.