mirror of
https://github.com/rust-lang/rust.git
synced 2024-11-26 08:44:35 +00:00
Add deprecated_safe feature gate and attribute, cc #94978
This commit is contained in:
parent
83460d5e62
commit
e4f1179fa6
@ -364,6 +364,8 @@ declare_features! (
|
||||
(active, default_alloc_error_handler, "1.48.0", Some(66741), None),
|
||||
/// Allows default type parameters to influence type inference.
|
||||
(active, default_type_parameter_fallback, "1.3.0", Some(27336), None),
|
||||
/// Allows using `#[deprecated_safe]` to deprecate the safeness of a function or trait
|
||||
(active, deprecated_safe, "1.61.0", Some(94978), None),
|
||||
/// Allows having using `suggestion` in the `#[deprecated]` attribute.
|
||||
(active, deprecated_suggestion, "1.61.0", Some(94785), None),
|
||||
/// Allows `#[derive(Default)]` and `#[default]` on enums.
|
||||
|
@ -452,6 +452,11 @@ pub const BUILTIN_ATTRIBUTES: &[BuiltinAttribute] = &[
|
||||
"`default_method_body_is_const` is a temporary placeholder for declaring default bodies \
|
||||
as `const`, which may be removed or renamed in the future."
|
||||
),
|
||||
// lang-team MCP 147
|
||||
gated!(
|
||||
deprecated_safe, Normal, template!(List: r#"since = "version", note = "...""#), ErrorFollowing,
|
||||
experimental!(deprecated_safe),
|
||||
),
|
||||
|
||||
// ==========================================================================
|
||||
// Internal attributes: Stability, deprecation, and unsafe:
|
||||
|
@ -563,6 +563,7 @@ symbols! {
|
||||
delay_span_bug_from_inside_query,
|
||||
deny,
|
||||
deprecated,
|
||||
deprecated_safe,
|
||||
deprecated_suggestion,
|
||||
deref,
|
||||
deref_method,
|
||||
|
@ -0,0 +1,7 @@
|
||||
#[deprecated_safe(since = "TBD", note = "...")] //~ ERROR: the `#[deprecated_safe]` attribute is an experimental feature
|
||||
unsafe fn deprecated_safe_fn() {}
|
||||
|
||||
#[deprecated_safe(since = "TBD", note = "...")] //~ ERROR: the `#[deprecated_safe]` attribute is an experimental feature
|
||||
unsafe trait DeprecatedSafeTrait {}
|
||||
|
||||
fn main() {}
|
@ -0,0 +1,21 @@
|
||||
error[E0658]: the `#[deprecated_safe]` attribute is an experimental feature
|
||||
--> $DIR/feature-gate-deprecated_safe.rs:1:1
|
||||
|
|
||||
LL | #[deprecated_safe(since = "TBD", note = "...")]
|
||||
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
|
||||
= note: see issue #94978 <https://github.com/rust-lang/rust/issues/94978> for more information
|
||||
= help: add `#![feature(deprecated_safe)]` to the crate attributes to enable
|
||||
|
||||
error[E0658]: the `#[deprecated_safe]` attribute is an experimental feature
|
||||
--> $DIR/feature-gate-deprecated_safe.rs:4:1
|
||||
|
|
||||
LL | #[deprecated_safe(since = "TBD", note = "...")]
|
||||
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
|
||||
= note: see issue #94978 <https://github.com/rust-lang/rust/issues/94978> for more information
|
||||
= help: add `#![feature(deprecated_safe)]` to the crate attributes to enable
|
||||
|
||||
error: aborting due to 2 previous errors
|
||||
|
||||
For more information about this error, try `rustc --explain E0658`.
|
Loading…
Reference in New Issue
Block a user