remove support for rustc_safe_intrinsic attribute; use rustc_intrinsic functions instead
This commit is contained in:
@@ -3,13 +3,15 @@ An invalid number of generic parameters was passed to an intrinsic function.
|
||||
Erroneous code example:
|
||||
|
||||
```compile_fail,E0094
|
||||
#![feature(intrinsics, rustc_attrs)]
|
||||
#![feature(intrinsics)]
|
||||
#![allow(internal_features)]
|
||||
|
||||
extern "rust-intrinsic" {
|
||||
#[rustc_safe_intrinsic]
|
||||
fn size_of<T, U>() -> usize; // error: intrinsic has wrong number
|
||||
// of type parameters
|
||||
#[rustc_intrinsic]
|
||||
#[rustc_intrinsic_must_be_overridden]
|
||||
fn size_of<T, U>() -> usize // error: intrinsic has wrong number
|
||||
// of type parameters
|
||||
{
|
||||
loop {}
|
||||
}
|
||||
```
|
||||
|
||||
@@ -18,11 +20,13 @@ and verify with the function declaration in the Rust source code.
|
||||
Example:
|
||||
|
||||
```
|
||||
#![feature(intrinsics, rustc_attrs)]
|
||||
#![feature(intrinsics)]
|
||||
#![allow(internal_features)]
|
||||
|
||||
extern "rust-intrinsic" {
|
||||
#[rustc_safe_intrinsic]
|
||||
fn size_of<T>() -> usize; // ok!
|
||||
#[rustc_intrinsic]
|
||||
#[rustc_intrinsic_must_be_overridden]
|
||||
fn size_of<T>() -> usize // ok!
|
||||
{
|
||||
loop {}
|
||||
}
|
||||
```
|
||||
|
||||
@@ -4,12 +4,11 @@ You used a function or type which doesn't fit the requirements for where it was
|
||||
used. Erroneous code examples:
|
||||
|
||||
```compile_fail
|
||||
#![feature(intrinsics, rustc_attrs)]
|
||||
#![feature(intrinsics)]
|
||||
#![allow(internal_features)]
|
||||
|
||||
extern "rust-intrinsic" {
|
||||
#[rustc_safe_intrinsic]
|
||||
fn size_of<T>(); // error: intrinsic has wrong type
|
||||
fn unreachable(); // error: intrinsic has wrong type
|
||||
}
|
||||
|
||||
// or:
|
||||
@@ -41,12 +40,11 @@ impl Foo {
|
||||
For the first code example, please check the function definition. Example:
|
||||
|
||||
```
|
||||
#![feature(intrinsics, rustc_attrs)]
|
||||
#![feature(intrinsics)]
|
||||
#![allow(internal_features)]
|
||||
|
||||
extern "rust-intrinsic" {
|
||||
#[rustc_safe_intrinsic]
|
||||
fn size_of<T>() -> usize; // ok!
|
||||
fn unreachable() -> !; // ok!
|
||||
}
|
||||
```
|
||||
|
||||
|
||||
Reference in New Issue
Block a user