mirror of
				https://github.com/rust-lang/rust.git
				synced 2025-10-31 13:04:42 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			28 lines
		
	
	
		
			610 B
		
	
	
	
		
			Rust
		
	
	
	
	
	
			
		
		
	
	
			28 lines
		
	
	
		
			610 B
		
	
	
	
		
			Rust
		
	
	
	
	
	
| //@ run-pass
 | |
| 
 | |
| #![feature(core_intrinsics)]
 | |
| #![feature(const_intrinsic_compare_bytes)]
 | |
| use std::intrinsics::compare_bytes;
 | |
| 
 | |
| fn main() {
 | |
|     const A: i32 = unsafe {
 | |
|         compare_bytes(1 as *const u8, 2 as *const u8, 0)
 | |
|     };
 | |
|     assert_eq!(A, 0);
 | |
| 
 | |
|     const B: i32 = unsafe {
 | |
|         compare_bytes([1, 2].as_ptr(), [1, 3].as_ptr(), 1)
 | |
|     };
 | |
|     assert_eq!(B, 0);
 | |
| 
 | |
|     const C: i32 = unsafe {
 | |
|         compare_bytes([1, 2, 9].as_ptr(), [1, 3, 8].as_ptr(), 2)
 | |
|     };
 | |
|     assert!(C < 0);
 | |
| 
 | |
|     const D: i32 = unsafe {
 | |
|         compare_bytes([1, 3, 8].as_ptr(), [1, 2, 9].as_ptr(), 2)
 | |
|     };
 | |
|     assert!(D > 0);
 | |
| }
 | 
