mirror of
				https://github.com/rust-lang/rust.git
				synced 2025-10-31 13:04:42 +00:00 
			
		
		
		
	 f1494425bb
			
		
	
	
		f1494425bb
		
	
	
	
	
		
			
			These tests deliberately use non-standard formatting, so that the line execution counts reported by `llvm-cov` reveal additional information about where code regions begin and end.
		
			
				
	
	
		
			63 lines
		
	
	
		
			992 B
		
	
	
	
		
			Rust
		
	
	
	
	
	
			
		
		
	
	
			63 lines
		
	
	
		
			992 B
		
	
	
	
		
			Rust
		
	
	
	
	
	
| #![allow(unused_assignments, unused_variables)]
 | |
| 
 | |
| #[rustfmt::skip]
 | |
| fn main() {
 | |
|     // Initialize test constants in a way that cannot be determined at compile time, to ensure
 | |
|     // rustc and LLVM cannot optimize out statements (or coverage counters) downstream from
 | |
|     // dependent conditions.
 | |
|     let is_true = std::env::args().len() == 1;
 | |
| 
 | |
|     let (mut a, mut b, mut c) = (0, 0, 0);
 | |
|     if is_true {
 | |
|         a = 1;
 | |
|         b = 10;
 | |
|         c = 100;
 | |
|     }
 | |
|     let
 | |
|         somebool
 | |
|         =
 | |
|             a < b
 | |
|         ||
 | |
|             b < c
 | |
|     ;
 | |
|     let
 | |
|         somebool
 | |
|         =
 | |
|             b < a
 | |
|         ||
 | |
|             b < c
 | |
|     ;
 | |
|     let somebool = a < b && b < c;
 | |
|     let somebool = b < a && b < c;
 | |
| 
 | |
|     if
 | |
|         !
 | |
|         is_true
 | |
|     {
 | |
|         a = 2
 | |
|         ;
 | |
|     }
 | |
| 
 | |
|     if
 | |
|         is_true
 | |
|     {
 | |
|         b = 30
 | |
|         ;
 | |
|     }
 | |
|     else
 | |
|     {
 | |
|         c = 400
 | |
|         ;
 | |
|     }
 | |
| 
 | |
|     if !is_true {
 | |
|         a = 2;
 | |
|     }
 | |
| 
 | |
|     if is_true {
 | |
|         b = 30;
 | |
|     } else {
 | |
|         c = 400;
 | |
|     }
 | |
| }
 |