clippy 0.0.71

A bunch of helpful lints to avoid common pitfalls in Rust
#![feature(plugin)]
#![plugin(clippy)]

#![deny(let_unit_value)]
#![allow(unused_variables)]

macro_rules! let_and_return {
    ($n:expr) => {{
        let ret = $n;
    }}
}

fn main() {
    let _x = println!("x");  //~ERROR this let-binding has unit value
    let _y = 1;   // this is fine
    let _z = ((), 1);  // this as well
    if true {
        let _a = ();  //~ERROR this let-binding has unit value
    }

    let_and_return!(()) // should be fine
}

#[derive(Copy, Clone)]
pub struct ContainsUnit(()); // should be fine