mirror of
				https://github.com/rust-lang/rust.git
				synced 2025-10-31 04:57:19 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			53 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			Rust
		
	
	
	
	
	
			
		
		
	
	
			53 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			Rust
		
	
	
	
	
	
| // run-pass
 | |
| // Tests for if as expressions
 | |
| 
 | |
| fn test_if() { let rs: bool = if true { true } else { false }; assert!((rs)); }
 | |
| 
 | |
| fn test_else() {
 | |
|     let rs: bool = if false { false } else { true };
 | |
|     assert!((rs));
 | |
| }
 | |
| 
 | |
| fn test_elseif1() {
 | |
|     let rs: bool = if true { true } else if true { false } else { false };
 | |
|     assert!((rs));
 | |
| }
 | |
| 
 | |
| fn test_elseif2() {
 | |
|     let rs: bool = if false { false } else if true { true } else { false };
 | |
|     assert!((rs));
 | |
| }
 | |
| 
 | |
| fn test_elseif3() {
 | |
|     let rs: bool = if false { false } else if false { false } else { true };
 | |
|     assert!((rs));
 | |
| }
 | |
| 
 | |
| fn test_inferrence() {
 | |
|     let rs = if true { true } else { false };
 | |
|     assert!((rs));
 | |
| }
 | |
| 
 | |
| fn test_if_as_if_condition() {
 | |
|     let rs1 = if if false { false } else { true } { true } else { false };
 | |
|     assert!((rs1));
 | |
|     let rs2 = if if true { false } else { true } { false } else { true };
 | |
|     assert!((rs2));
 | |
| }
 | |
| 
 | |
| fn test_if_as_block_result() {
 | |
|     let rs = if true { if false { false } else { true } } else { false };
 | |
|     assert!((rs));
 | |
| }
 | |
| 
 | |
| pub fn main() {
 | |
|     test_if();
 | |
|     test_else();
 | |
|     test_elseif1();
 | |
|     test_elseif2();
 | |
|     test_elseif3();
 | |
|     test_inferrence();
 | |
|     test_if_as_if_condition();
 | |
|     test_if_as_block_result();
 | |
| }
 | 
