Skip to content

Commit dc70eca

Browse files
Add E0441 error explanation
1 parent 9259418 commit dc70eca

File tree

1 file changed

+28
-1
lines changed

1 file changed

+28
-1
lines changed

src/librustc_typeck/diagnostics.rs

Lines changed: 28 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3020,6 +3020,34 @@ parameters. You can read more about it in the API documentation:
30203020
https://doc.rust-lang.org/std/marker/struct.PhantomData.html
30213021
"##,
30223022

3023+
E0441: r##"
3024+
An unknown platform-specific intrinsic function was used. Erroneous
3025+
code example:
3026+
3027+
```
3028+
#[repr(simd)]
3029+
struct i16x8(i16, i16, i16, i16, i16, i16, i16, i16);
3030+
3031+
extern "platform-intrinsic" {
3032+
fn x86_mm_adds_ep16(x: i16x8, y: i16x8) -> i16x8;
3033+
// error: unrecognized platform-specific intrinsic function
3034+
}
3035+
```
3036+
3037+
Please check you didn't misspell the function's name or that it is
3038+
declared in the rust source code (in the file
3039+
src/librustc_platform_intrinsics/x86.rs). Example:
3040+
3041+
```
3042+
#[repr(simd)]
3043+
struct i16x8(i16, i16, i16, i16, i16, i16, i16, i16);
3044+
3045+
extern "platform-intrinsic" {
3046+
fn x86_mm_adds_epi16(x: i16x8, y: i16x8) -> i16x8; // ok!
3047+
}
3048+
```
3049+
"##,
3050+
30233051
E0442: r##"
30243052
Intrinsic argument(s) and/or return value have the wrong length.
30253053
Erroneous code example:
@@ -3191,5 +3219,4 @@ register_diagnostics! {
31913219
E0436, // functional record update requires a struct
31923220
E0439, // invalid `simd_shuffle`, needs length: `{}`
31933221
E0440, // platform-specific intrinsic has wrong number of type parameters
3194-
E0441, // unrecognized platform-specific intrinsic function
31953222
}

0 commit comments

Comments
 (0)