clippy 0.0.23

A bunch of helpful lints to avoid common pitfalls in Rust
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#![feature(plugin)]
#![plugin(clippy)]
use std::fs::OpenOptions;

#[allow(unused_must_use)]
#[deny(nonsensical_open_options)]
fn main() {
	OpenOptions::new().read(true).truncate(true).open("foo.txt"); //~ERROR File opened with "truncate" and "read"
	OpenOptions::new().append(true).truncate(true).open("foo.txt"); //~ERROR File opened with "append" and "truncate"
    
	OpenOptions::new().read(true).read(false).open("foo.txt"); //~ERROR The method "read" is called more than once
	OpenOptions::new().create(true).create(false).open("foo.txt"); //~ERROR The method "create" is called more than once
	OpenOptions::new().write(true).write(false).open("foo.txt"); //~ERROR The method "write" is called more than once
	OpenOptions::new().append(true).append(false).open("foo.txt"); //~ERROR The method "append" is called more than once
	OpenOptions::new().truncate(true).truncate(false).open("foo.txt"); //~ERROR The method "truncate" is called more than once
}