diff options
| author | Joshua Nelson <github@jyn.dev> | 2023-03-30 07:34:55 -0500 | 
|---|---|---|
| committer | Joshua Nelson <github@jyn.dev> | 2023-03-30 07:34:55 -0500 | 
| commit | 433da1fc047bb39a263eefca4bdb2b1972f1d2ce (patch) | |
| tree | 28540e78fdd5fdf158267e67495121ac64f0866a /tests/run-make/debug-assertions/debug.rs | |
| parent | f2d9a3d0771504f1ae776226a5799dcb4408a91a (diff) | |
| download | rust-433da1fc047bb39a263eefca4bdb2b1972f1d2ce.tar.gz rust-433da1fc047bb39a263eefca4bdb2b1972f1d2ce.zip | |
Move almost all run-make-fulldeps to run-make
They pass fine.
Diffstat (limited to 'tests/run-make/debug-assertions/debug.rs')
| -rw-r--r-- | tests/run-make/debug-assertions/debug.rs | 33 | 
1 files changed, 33 insertions, 0 deletions
| diff --git a/tests/run-make/debug-assertions/debug.rs b/tests/run-make/debug-assertions/debug.rs new file mode 100644 index 00000000000..76ca60a71c8 --- /dev/null +++ b/tests/run-make/debug-assertions/debug.rs @@ -0,0 +1,33 @@ +#![feature(rustc_attrs)] +#![deny(warnings)] + +use std::env; +use std::thread; + +fn main() { + let should_fail = env::args().nth(1) == Some("bad".to_string()); + + assert_eq!(thread::spawn(debug_assert_eq).join().is_err(), should_fail); + assert_eq!(thread::spawn(debug_assert).join().is_err(), should_fail); + assert_eq!(thread::spawn(overflow).join().is_err(), should_fail); +} + +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); +} | 
