// Copyright 2015 The Rust Project Developers. See the COPYRIGHT // file at the top-level directory of this distribution and at // http://rust-lang.org/COPYRIGHT. // // Licensed under the Apache License, Version 2.0 or the MIT license // , at your // option. This file may not be copied, modified, or distributed // except according to those terms. #![allow(non_snake_case)] register_long_diagnostics! { E0511: r##" Invalid monomorphization of an intrinsic function was used. Erroneous code example: ```ignore #![feature(platform_intrinsics)] extern "platform-intrinsic" { fn simd_add(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(platform_intrinsics)] #[repr(simd)] #[derive(Copy, Clone)] struct i32x1(i32); extern "platform-intrinsic" { fn simd_add(a: T, b: T) -> T; } unsafe { simd_add(i32x1(0), i32x1(1)); } // ok! ``` "##, }