| //@ 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); |
| } |