Rust errors / Everything else
Rust compiler error · checked with rustc 1.99.0
Rust error E0511: invalid monomorphization of an intrinsic function was used
What it meansInvalid monomorphization of an intrinsic function was used.
The compiler team's explanation
Invalid monomorphization of an intrinsic function was used.
Erroneous code example:
#![feature(intrinsics)]
#[rustc_intrinsic]
unsafe fn simd_add<T>(a: T, b: T) -> T;
fn main() {
unsafe { simd_add(0, 1); }
// error: invalid monomorphization of `simd_add` intrinsic
}
The generic type has to be a SIMD type. Example:
#![feature(repr_simd)]
#![feature(intrinsics)]
#[repr(simd)]
#[derive(Copy, Clone)]
struct i32x2([i32; 2]);
#[rustc_intrinsic]
unsafe fn simd_add<T>(a: T, b: T) -> T;
unsafe { simd_add(i32x2([0, 0]), i32x2([1, 2])); } // ok!From rustc --explain E0511 (1.99.0), part of the Rust project, MIT or Apache-2.0. Official page.
Related errors
- E0061this function takes N arguments but M were supplied
- E0412cannot find type in this scope
- E0515cannot return reference to local variable
- E0728await is only allowed inside async functions and blocks
- E0436functional record update syntax requires a struct
- E0455link kind `framework` is only supported on Apple targets
- E0514Dependency compiled with different version of `rustc`
Up next
Often hit nextE0061: this function takes N arguments but M were suppliedA related error from the same family.Read it next →Did this answer your question?