summaryrefslogtreecommitdiffstats
path: root/src/test/ui/suggestions/suggest-change-mut.rs
blob: 47dc7c343daebea6ed4ce2b975843e21c609af25 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
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() {}