Auto merge of #100719 - CohenArthur:rust-safe-intrinsic-attribute, r=wesleywiser
Add `#[rustc_safe_intrinsic]` This PR adds the `#[rustc_safe_intrinsic]` attribute as mentionned on Zulip. The goal of this attribute is to avoid keeping a list of symbols as the source for stable intrinsics, and instead rely on an attribute. This is similar to `#[rustc_const_stable]` and `#[rustc_const_unstable]`, which among other things, are used to mark the constness of intrinsic functions.
This commit is contained in:
commit
ce7f0f1aa0
21 changed files with 113 additions and 10 deletions
|
@ -6,6 +6,7 @@ Erroneous code example:
|
|||
#![feature(intrinsics)]
|
||||
|
||||
extern "rust-intrinsic" {
|
||||
#[rustc_safe_intrinsic]
|
||||
fn size_of<T, U>() -> usize; // error: intrinsic has wrong number
|
||||
// of type parameters
|
||||
}
|
||||
|
@ -19,6 +20,7 @@ Example:
|
|||
#![feature(intrinsics)]
|
||||
|
||||
extern "rust-intrinsic" {
|
||||
#[rustc_safe_intrinsic]
|
||||
fn size_of<T>() -> usize; // ok!
|
||||
}
|
||||
```
|
||||
|
|
|
@ -7,6 +7,7 @@ used. Erroneous code examples:
|
|||
#![feature(intrinsics)]
|
||||
|
||||
extern "rust-intrinsic" {
|
||||
#[rustc_safe_intrinsic]
|
||||
fn size_of<T>(); // error: intrinsic has wrong type
|
||||
}
|
||||
|
||||
|
@ -42,6 +43,7 @@ For the first code example, please check the function definition. Example:
|
|||
#![feature(intrinsics)]
|
||||
|
||||
extern "rust-intrinsic" {
|
||||
#[rustc_safe_intrinsic]
|
||||
fn size_of<T>() -> usize; // ok!
|
||||
}
|
||||
```
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue