rust/tests/ui/verbose_file_reads.rs

31 lines
768 B
Rust

#![warn(clippy::verbose_file_reads)]
use std::env::temp_dir;
use std::fs::File;
use std::io::Read;
struct Struct;
// To make sure we only warn on File::{read_to_end, read_to_string} calls
impl Struct {
pub fn read_to_end(&self) {}
pub fn read_to_string(&self) {}
}
fn main() -> std::io::Result<()> {
let path = "foo.txt";
// Lint shouldn't catch this
let s = Struct;
s.read_to_end();
s.read_to_string();
// Should catch this
let mut f = File::open(path)?;
let mut buffer = Vec::new();
f.read_to_end(&mut buffer)?;
//~^ ERROR: use of `File::read_to_end`
// ...and this
let mut string_buffer = String::new();
f.read_to_string(&mut string_buffer)?;
//~^ ERROR: use of `File::read_to_string`
Ok(())
}