mirror of
				https://github.com/rust-lang/rust.git
				synced 2025-10-31 04:57:19 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			321 lines
		
	
	
		
			10 KiB
		
	
	
	
		
			Rust
		
	
	
	
	
	
			
		
		
	
	
			321 lines
		
	
	
		
			10 KiB
		
	
	
	
		
			Rust
		
	
	
	
	
	
| //@ run-rustfix
 | |
| 
 | |
| // The `try_into` suggestion doesn't include this, but we do suggest it after applying it
 | |
| use std::convert::TryInto;
 | |
| 
 | |
| #[allow(unused_must_use)]
 | |
| fn main() {
 | |
|     let x_usize: usize = 1;
 | |
|     let x_u128: u128 = 2;
 | |
|     let x_u64: u64 = 3;
 | |
|     let x_u32: u32 = 4;
 | |
|     let x_u16: u16 = 5;
 | |
|     let x_u8: u8 = 6;
 | |
|     let x_isize: isize = 7;
 | |
|     let x_i64: i64 = 8;
 | |
|     let x_i32: i32 = 9;
 | |
|     let x_i16: i16 = 10;
 | |
|     let x_i8: i8 = 11;
 | |
|     let x_i128: i128 = 12;
 | |
| 
 | |
|     /* u<->u */
 | |
|     {
 | |
|         u16::from(x_u8) > x_u16;
 | |
|         //~^ ERROR mismatched types
 | |
|         u32::from(x_u8) > x_u32;
 | |
|         //~^ ERROR mismatched types
 | |
|         u64::from(x_u8) > x_u64;
 | |
|         //~^ ERROR mismatched types
 | |
|         u128::from(x_u8) > x_u128;
 | |
|         //~^ ERROR mismatched types
 | |
|         usize::from(x_u8) > x_usize;
 | |
|         //~^ ERROR mismatched types
 | |
| 
 | |
|         x_u16 > x_u8.into();
 | |
|         //~^ ERROR mismatched types
 | |
|         u32::from(x_u16) > x_u32;
 | |
|         //~^ ERROR mismatched types
 | |
|         u64::from(x_u16) > x_u64;
 | |
|         //~^ ERROR mismatched types
 | |
|         u128::from(x_u16) > x_u128;
 | |
|         //~^ ERROR mismatched types
 | |
|         usize::from(x_u16) > x_usize;
 | |
|         //~^ ERROR mismatched types
 | |
| 
 | |
|         x_u32 > x_u8.into();
 | |
|         //~^ ERROR mismatched types
 | |
|         x_u32 > x_u16.into();
 | |
|         //~^ ERROR mismatched types
 | |
|         u64::from(x_u32) > x_u64;
 | |
|         //~^ ERROR mismatched types
 | |
|         u128::from(x_u32) > x_u128;
 | |
|         //~^ ERROR mismatched types
 | |
|         x_u32 > x_usize.try_into().unwrap();
 | |
|         //~^ ERROR mismatched types
 | |
| 
 | |
|         x_u64 > x_u8.into();
 | |
|         //~^ ERROR mismatched types
 | |
|         x_u64 > x_u16.into();
 | |
|         //~^ ERROR mismatched types
 | |
|         x_u64 > x_u32.into();
 | |
|         //~^ ERROR mismatched types
 | |
|         u128::from(x_u64) > x_u128;
 | |
|         //~^ ERROR mismatched types
 | |
|         x_u64 > x_usize.try_into().unwrap();
 | |
|         //~^ ERROR mismatched types
 | |
| 
 | |
|         x_u128 > x_u8.into();
 | |
|         //~^ ERROR mismatched types
 | |
|         x_u128 > x_u16.into();
 | |
|         //~^ ERROR mismatched types
 | |
|         x_u128 > x_u32.into();
 | |
|         //~^ ERROR mismatched types
 | |
|         x_u128 > x_u64.into();
 | |
|         //~^ ERROR mismatched types
 | |
|         x_u128 > x_usize.try_into().unwrap();
 | |
|         //~^ ERROR mismatched types
 | |
| 
 | |
|         x_usize > x_u8.into();
 | |
|         //~^ ERROR mismatched types
 | |
|         x_usize > x_u16.into();
 | |
|         //~^ ERROR mismatched types
 | |
|         x_usize > x_u32.try_into().unwrap();
 | |
|         //~^ ERROR mismatched types
 | |
|         x_usize > x_u64.try_into().unwrap();
 | |
|         //~^ ERROR mismatched types
 | |
|         x_usize > x_u128.try_into().unwrap();
 | |
|         //~^ ERROR mismatched types
 | |
|     }
 | |
| 
 | |
|     /* i<->i */
 | |
|     {
 | |
|         i16::from(x_i8) > x_i16;
 | |
|         //~^ ERROR mismatched types
 | |
|         i32::from(x_i8) > x_i32;
 | |
|         //~^ ERROR mismatched types
 | |
|         i64::from(x_i8) > x_i64;
 | |
|         //~^ ERROR mismatched types
 | |
|         i128::from(x_i8) > x_i128;
 | |
|         //~^ ERROR mismatched types
 | |
|         isize::from(x_i8) > x_isize;
 | |
|         //~^ ERROR mismatched types
 | |
| 
 | |
|         x_i16 > x_i8.into();
 | |
|         //~^ ERROR mismatched types
 | |
|         i32::from(x_i16) > x_i32;
 | |
|         //~^ ERROR mismatched types
 | |
|         i64::from(x_i16) > x_i64;
 | |
|         //~^ ERROR mismatched types
 | |
|         i128::from(x_i16) > x_i128;
 | |
|         //~^ ERROR mismatched types
 | |
|         isize::from(x_i16) > x_isize;
 | |
|         //~^ ERROR mismatched types
 | |
| 
 | |
|         x_i32 > x_i8.into();
 | |
|         //~^ ERROR mismatched types
 | |
|         x_i32 > x_i16.into();
 | |
|         //~^ ERROR mismatched types
 | |
|         i64::from(x_i32) > x_i64;
 | |
|         //~^ ERROR mismatched types
 | |
|         i128::from(x_i32) > x_i128;
 | |
|         //~^ ERROR mismatched types
 | |
|         x_i32 > x_isize.try_into().unwrap();
 | |
|         //~^ ERROR mismatched types
 | |
| 
 | |
|         x_i64 > x_i8.into();
 | |
|         //~^ ERROR mismatched types
 | |
|         x_i64 > x_i16.into();
 | |
|         //~^ ERROR mismatched types
 | |
|         x_i64 > x_i32.into();
 | |
|         //~^ ERROR mismatched types
 | |
|         i128::from(x_i64) > x_i128;
 | |
|         //~^ ERROR mismatched types
 | |
|         x_i64 > x_isize.try_into().unwrap();
 | |
|         //~^ ERROR mismatched types
 | |
| 
 | |
|         x_i128 > x_i8.into();
 | |
|         //~^ ERROR mismatched types
 | |
|         x_i128 > x_i16.into();
 | |
|         //~^ ERROR mismatched types
 | |
|         x_i128 > x_i32.into();
 | |
|         //~^ ERROR mismatched types
 | |
|         x_i128 > x_i64.into();
 | |
|         //~^ ERROR mismatched types
 | |
|         x_i128 > x_isize.try_into().unwrap();
 | |
|         //~^ ERROR mismatched types
 | |
| 
 | |
|         x_isize > x_i8.into();
 | |
|         //~^ ERROR mismatched types
 | |
|         x_isize > x_i16.into();
 | |
|         //~^ ERROR mismatched types
 | |
|         x_isize > x_i32.try_into().unwrap();
 | |
|         //~^ ERROR mismatched types
 | |
|         x_isize > x_i64.try_into().unwrap();
 | |
|         //~^ ERROR mismatched types
 | |
|         x_isize > x_i128.try_into().unwrap();
 | |
|         //~^ ERROR mismatched types
 | |
|     }
 | |
| 
 | |
|     /* u<->i */
 | |
|     {
 | |
|         x_u8 > x_i8.try_into().unwrap();
 | |
|         //~^ ERROR mismatched types
 | |
|         i16::from(x_u8) > x_i16;
 | |
|         //~^ ERROR mismatched types
 | |
|         i32::from(x_u8) > x_i32;
 | |
|         //~^ ERROR mismatched types
 | |
|         i64::from(x_u8) > x_i64;
 | |
|         //~^ ERROR mismatched types
 | |
|         i128::from(x_u8) > x_i128;
 | |
|         //~^ ERROR mismatched types
 | |
|         isize::from(x_u8) > x_isize;
 | |
|         //~^ ERROR mismatched types
 | |
| 
 | |
|         x_u16 > x_i8.try_into().unwrap();
 | |
|         //~^ ERROR mismatched types
 | |
|         x_u16 > x_i16.try_into().unwrap();
 | |
|         //~^ ERROR mismatched types
 | |
|         i32::from(x_u16) > x_i32;
 | |
|         //~^ ERROR mismatched types
 | |
|         i64::from(x_u16) > x_i64;
 | |
|         //~^ ERROR mismatched types
 | |
|         i128::from(x_u16) > x_i128;
 | |
|         //~^ ERROR mismatched types
 | |
|         x_u16 > x_isize.try_into().unwrap();
 | |
|         //~^ ERROR mismatched types
 | |
| 
 | |
|         x_u32 > x_i8.try_into().unwrap();
 | |
|         //~^ ERROR mismatched types
 | |
|         x_u32 > x_i16.try_into().unwrap();
 | |
|         //~^ ERROR mismatched types
 | |
|         x_u32 > x_i32.try_into().unwrap();
 | |
|         //~^ ERROR mismatched types
 | |
|         i64::from(x_u32) > x_i64;
 | |
|         //~^ ERROR mismatched types
 | |
|         i128::from(x_u32) > x_i128;
 | |
|         //~^ ERROR mismatched types
 | |
|         x_u32 > x_isize.try_into().unwrap();
 | |
|         //~^ ERROR mismatched types
 | |
| 
 | |
|         x_u64 > x_i8.try_into().unwrap();
 | |
|         //~^ ERROR mismatched types
 | |
|         x_u64 > x_i16.try_into().unwrap();
 | |
|         //~^ ERROR mismatched types
 | |
|         x_u64 > x_i32.try_into().unwrap();
 | |
|         //~^ ERROR mismatched types
 | |
|         x_u64 > x_i64.try_into().unwrap();
 | |
|         //~^ ERROR mismatched types
 | |
|         i128::from(x_u64) > x_i128;
 | |
|         //~^ ERROR mismatched types
 | |
|         x_u64 > x_isize.try_into().unwrap();
 | |
|         //~^ ERROR mismatched types
 | |
| 
 | |
|         x_u128 > x_i8.try_into().unwrap();
 | |
|         //~^ ERROR mismatched types
 | |
|         x_u128 > x_i16.try_into().unwrap();
 | |
|         //~^ ERROR mismatched types
 | |
|         x_u128 > x_i32.try_into().unwrap();
 | |
|         //~^ ERROR mismatched types
 | |
|         x_u128 > x_i64.try_into().unwrap();
 | |
|         //~^ ERROR mismatched types
 | |
|         x_u128 > x_i128.try_into().unwrap();
 | |
|         //~^ ERROR mismatched types
 | |
|         x_u128 > x_isize.try_into().unwrap();
 | |
|         //~^ ERROR mismatched types
 | |
| 
 | |
|         x_usize > x_i8.try_into().unwrap();
 | |
|         //~^ ERROR mismatched types
 | |
|         x_usize > x_i16.try_into().unwrap();
 | |
|         //~^ ERROR mismatched types
 | |
|         x_usize > x_i32.try_into().unwrap();
 | |
|         //~^ ERROR mismatched types
 | |
|         x_usize > x_i64.try_into().unwrap();
 | |
|         //~^ ERROR mismatched types
 | |
|         x_usize > x_i128.try_into().unwrap();
 | |
|         //~^ ERROR mismatched types
 | |
|         x_usize > x_isize.try_into().unwrap();
 | |
|         //~^ ERROR mismatched types
 | |
|     }
 | |
| 
 | |
|     /* i<->u */
 | |
|     {
 | |
|         x_i8 > x_u8.try_into().unwrap();
 | |
|         //~^ ERROR mismatched types
 | |
|         x_i8 > x_u16.try_into().unwrap();
 | |
|         //~^ ERROR mismatched types
 | |
|         x_i8 > x_u32.try_into().unwrap();
 | |
|         //~^ ERROR mismatched types
 | |
|         x_i8 > x_u64.try_into().unwrap();
 | |
|         //~^ ERROR mismatched types
 | |
|         x_i8 > x_u128.try_into().unwrap();
 | |
|         //~^ ERROR mismatched types
 | |
|         x_i8 > x_usize.try_into().unwrap();
 | |
|         //~^ ERROR mismatched types
 | |
| 
 | |
|         x_i16 > x_u8.into();
 | |
|         //~^ ERROR mismatched types
 | |
|         x_i16 > x_u16.try_into().unwrap();
 | |
|         //~^ ERROR mismatched types
 | |
|         x_i16 > x_u32.try_into().unwrap();
 | |
|         //~^ ERROR mismatched types
 | |
|         x_i16 > x_u64.try_into().unwrap();
 | |
|         //~^ ERROR mismatched types
 | |
|         x_i16 > x_u128.try_into().unwrap();
 | |
|         //~^ ERROR mismatched types
 | |
|         x_i16 > x_usize.try_into().unwrap();
 | |
|         //~^ ERROR mismatched types
 | |
| 
 | |
|         x_i32 > x_u8.into();
 | |
|         //~^ ERROR mismatched types
 | |
|         x_i32 > x_u16.into();
 | |
|         //~^ ERROR mismatched types
 | |
|         x_i32 > x_u32.try_into().unwrap();
 | |
|         //~^ ERROR mismatched types
 | |
|         x_i32 > x_u64.try_into().unwrap();
 | |
|         //~^ ERROR mismatched types
 | |
|         x_i32 > x_u128.try_into().unwrap();
 | |
|         //~^ ERROR mismatched types
 | |
|         x_i32 > x_usize.try_into().unwrap();
 | |
|         //~^ ERROR mismatched types
 | |
| 
 | |
|         x_i64 > x_u8.into();
 | |
|         //~^ ERROR mismatched types
 | |
|         x_i64 > x_u16.into();
 | |
|         //~^ ERROR mismatched types
 | |
|         x_i64 > x_u32.into();
 | |
|         //~^ ERROR mismatched types
 | |
|         x_i64 > x_u64.try_into().unwrap();
 | |
|         //~^ ERROR mismatched types
 | |
|         x_i64 > x_u128.try_into().unwrap();
 | |
|         //~^ ERROR mismatched types
 | |
|         x_i64 > x_usize.try_into().unwrap();
 | |
|         //~^ ERROR mismatched types
 | |
| 
 | |
|         x_i128 > x_u8.into();
 | |
|         //~^ ERROR mismatched types
 | |
|         x_i128 > x_u16.into();
 | |
|         //~^ ERROR mismatched types
 | |
|         x_i128 > x_u32.into();
 | |
|         //~^ ERROR mismatched types
 | |
|         x_i128 > x_u64.into();
 | |
|         //~^ ERROR mismatched types
 | |
|         x_i128 > x_u128.try_into().unwrap();
 | |
|         //~^ ERROR mismatched types
 | |
|         x_i128 > x_usize.try_into().unwrap();
 | |
|         //~^ ERROR mismatched types
 | |
| 
 | |
|         x_isize > x_u8.into();
 | |
|         //~^ ERROR mismatched types
 | |
|         x_isize > x_u16.try_into().unwrap();
 | |
|         //~^ ERROR mismatched types
 | |
|         x_isize > x_u32.try_into().unwrap();
 | |
|         //~^ ERROR mismatched types
 | |
|         x_isize > x_u64.try_into().unwrap();
 | |
|         //~^ ERROR mismatched types
 | |
|         x_isize > x_u128.try_into().unwrap();
 | |
|         //~^ ERROR mismatched types
 | |
|         x_isize > x_usize.try_into().unwrap();
 | |
|         //~^ ERROR mismatched types
 | |
|     }
 | |
| }
 | 
