summaryrefslogtreecommitdiffstats
path: root/src/tools/clippy/tests/ui/filetype_is_file.rs
blob: 9e8a4c04324b0683661785558483b28201f87d23 (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
#![allow(clippy::needless_if)]
#![warn(clippy::filetype_is_file)]

fn main() -> std::io::Result<()> {
    use std::fs;
    use std::ops::BitOr;

    // !filetype.is_dir()
    if fs::metadata("foo.txt")?.file_type().is_file() {
        //~^ ERROR: `FileType::is_file()` only covers regular files
        // read file
    }

    // positive of filetype.is_dir()
    if !fs::metadata("foo.txt")?.file_type().is_file() {
        //~^ ERROR: `!FileType::is_file()` only denies regular files
        // handle dir
    }

    // false positive of filetype.is_dir()
    if !fs::metadata("foo.txt")?.file_type().is_file().bitor(true) {
        //~^ ERROR: `FileType::is_file()` only covers regular files
        // ...
    }

    Ok(())
}