mirror of
https://github.com/rust-lang/rust-clippy
synced 2024-11-13 08:27:14 +00:00
31 lines
749 B
Rust
31 lines
749 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 mut path = temp_dir();
|
||
|
path.push("test.txt");
|
||
|
let file = File::create(&path)?;
|
||
|
// 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)?;
|
||
|
// ...and this
|
||
|
let mut string_buffer = String::new();
|
||
|
f.read_to_string(&mut string_buffer)?;
|
||
|
Ok(())
|
||
|
}
|