remove support for rustc_safe_intrinsic attribute; use rustc_intrinsic functions instead
This commit is contained in:
parent
78bb5ee79e
commit
e3010e84db
42 changed files with 380 additions and 348 deletions
|
@ -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!
|
||||
}
|
||||
```
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue