Rollup merge of #78208 - liketechnik:issue-69399, r=oli-obk
replace `#[allow_internal_unstable]` with `#[rustc_allow_const_fn_unstable]` for `const fn`s `#[allow_internal_unstable]` is currently used to side-step feature gate and stability checks. While it was originally only meant to be used only on macros, its use was expanded to `const fn`s. This pr adds stricter checks for the usage of `#[allow_internal_unstable]` (only on macros) and introduces the `#[rustc_allow_const_fn_unstable]` attribute for usage on `const fn`s. This pr does not change any of the functionality associated with the use of `#[allow_internal_unstable]` on macros or the usage of `#[rustc_allow_const_fn_unstable]` (instead of `#[allow_internal_unstable]`) on `const fn`s (see https://github.com/rust-lang/rust/issues/69399#issuecomment-712911540). Note: The check for `#[rustc_allow_const_fn_unstable]` currently only validates that the attribute is used on a function, because I don't know how I would check if the function is a `const fn` at the place of the check. I therefore openend this as a 'draft pull request'. Closes rust-lang/rust#69399 r? @oli-obk
This commit is contained in:
commit
72e02b015e
31 changed files with 177 additions and 41 deletions
|
@ -206,6 +206,7 @@
|
|||
#![needs_panic_runtime]
|
||||
// std may use features in a platform-specific way
|
||||
#![allow(unused_features)]
|
||||
#![cfg_attr(not(bootstrap), feature(rustc_allow_const_fn_unstable))]
|
||||
#![cfg_attr(test, feature(print_internals, set_stdio, update_panic_count))]
|
||||
#![cfg_attr(
|
||||
all(target_vendor = "fortanix", target_env = "sgx"),
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue