| #![allow(internal_features)] | |
| #![feature(rustc_attrs)] | |
| #![deny(warnings)] | |
| use std::thread; | |
| fn main() { | |
| assert!(thread::spawn(debug_assert_eq).join().is_ok()); | |
| assert!(thread::spawn(debug_assert).join().is_ok()); | |
| assert!(thread::spawn(overflow).join().is_ok()); | |
| } | |
| fn debug_assert_eq() { | |
| let mut hit1 = false; | |
| let mut hit2 = false; | |
| debug_assert_eq!( | |
| { | |
| hit1 = true; | |
| 1 | |
| }, | |
| { | |
| hit2 = true; | |
| 2 | |
| } | |
| ); | |
| assert!(!hit1); | |
| assert!(!hit2); | |
| } | |
| fn debug_assert() { | |
| let mut hit = false; | |
| debug_assert!({ | |
| hit = true; | |
| false | |
| }); | |
| assert!(!hit); | |
| } | |
| fn overflow() { | |
| fn add(a: u8, b: u8) -> u8 { | |
| a + b | |
| } | |
| add(200u8, 200u8); | |
| } |