clippy 0.0.63

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
17
18
#![feature(plugin)]

#![plugin(clippy)]
#![deny(clippy)]
#![deny(mutex_integer)]

fn main() {
    use std::sync::Mutex;
    Mutex::new(true); //~ERROR Consider using an AtomicBool instead of a Mutex here.
    Mutex::new(5usize); //~ERROR Consider using an AtomicUsize instead of a Mutex here.
    Mutex::new(9isize); //~ERROR Consider using an AtomicIsize instead of a Mutex here.
    let mut x = 4u32;
    Mutex::new(&x as *const u32); //~ERROR Consider using an AtomicPtr instead of a Mutex here.
    Mutex::new(&mut x as *mut u32); //~ERROR Consider using an AtomicPtr instead of a Mutex here.
    Mutex::new(0u32); //~ERROR Consider using an AtomicUsize instead of a Mutex here.
    Mutex::new(0i32); //~ERROR Consider using an AtomicIsize instead of a Mutex here.
    Mutex::new(0f32); // there are no float atomics, so this should not lint
}