]> git.lizzy.rs Git - rust.git/blobdiff - src/test/ui/consts/const-eval/simd/insert_extract-fail.rs
Refactor
[rust.git] / src / test / ui / consts / const-eval / simd / insert_extract-fail.rs
index bbfae997e724196bc0bb5ae5a6137219a895d3b9..1d1df8d25a406e285f355bdfa6447e3e7a6338fa 100644 (file)
@@ -7,6 +7,7 @@
 
 extern "platform-intrinsic" {
     fn simd_insert<T, U>(x: T, idx: u32, val: U) -> T;
+    fn simd_extract<T, U>(x: T, idx: u32) -> U;
 }
 
 const fn foo(x: i8x1) -> i8 {
@@ -14,7 +15,13 @@ const fn foo(x: i8x1) -> i8 {
     unsafe { simd_insert(x, 0_u32, 42_i16) }.0  //~ ERROR
 }
 
+const fn bar(x: i8x1) -> i16 {
+    // the i8 is not a i16:
+    unsafe { simd_extract(x, 0_u32) }  //~ ERROR
+}
+
 fn main() {
     const V: i8x1 = i8x1(13);
     const X: i8 = foo(V);
+    const Y: i16 = bar(V);
 }