| #![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); |
| } |