]> git.lizzy.rs Git - rust.git/blob - tests/mut_mut_macro.rs
Update stderrs for print and write_literal
[rust.git] / tests / mut_mut_macro.rs
1 #![feature(plugin)]
2 #![plugin(clippy)]
3 #![deny(mut_mut, zero_ptr, cmp_nan)]
4 #![allow(dead_code)]
5
6 #[macro_use]
7 extern crate lazy_static;
8
9 use std::collections::HashMap;
10
11 // ensure that we don't suggest `is_nan` and `is_null` inside constants
12 // FIXME: once const fn is stable, suggest these functions again in constants
13 const BAA: *const i32 = 0 as *const i32;
14 static mut BAR: *const i32 = BAA;
15 static mut FOO: *const i32 = 0 as *const i32;
16 static mut BUH: bool = 42.0 < std::f32::NAN;
17
18 #[allow(unused_variables, unused_mut)]
19 fn main() {
20     lazy_static! {
21         static ref MUT_MAP : HashMap<usize, &'static str> = {
22             let mut m = HashMap::new();
23             m.insert(0, "zero");
24             m
25         };
26         static ref MUT_COUNT : usize = MUT_MAP.len();
27     }
28     assert_eq!(*MUT_COUNT, 1);
29     // FIXME: don't lint in array length, requires `check_body`
30     //let _ = [""; (42.0 < std::f32::NAN) as usize];
31 }