Auto merge of #98450 - lqd:doc-metadata, r=lqd,GuillaumeGomez · rust-lang/rust@ba9d01b (original) (raw)
`@@ -296,20 +296,24 @@ pub const BUILTIN_ATTRIBUTES: &[BuiltinAttribute] = &[
`
296
296
``
297
297
`// Lints:
`
298
298
`ungated!(
`
299
``
`-
warn, Normal, template!(List: r#"lint1, lint2, ..., /opt/ reason = "...""#), DuplicatesOk
`
``
299
`+
warn, Normal, template!(List: r#"lint1, lint2, ..., /opt/ reason = "...""#),
`
``
300
`+
DuplicatesOk, @only_local: true,
`
300
301
`),
`
301
302
`ungated!(
`
302
``
`-
allow, Normal, template!(List: r#"lint1, lint2, ..., /opt/ reason = "...""#), DuplicatesOk
`
``
303
`+
allow, Normal, template!(List: r#"lint1, lint2, ..., /opt/ reason = "...""#),
`
``
304
`+
DuplicatesOk, @only_local: true,
`
303
305
`),
`
304
306
`gated!(
`
305
307
` expect, Normal, template!(List: r#"lint1, lint2, ..., /opt/ reason = "...""#), DuplicatesOk,
`
306
308
` lint_reasons, experimental!(expect)
`
307
309
`),
`
308
310
`ungated!(
`
309
``
`-
forbid, Normal, template!(List: r#"lint1, lint2, ..., /opt/ reason = "...""#), DuplicatesOk
`
``
311
`+
forbid, Normal, template!(List: r#"lint1, lint2, ..., /opt/ reason = "...""#),
`
``
312
`+
DuplicatesOk, @only_local: true,
`
310
313
`),
`
311
314
`ungated!(
`
312
``
`-
deny, Normal, template!(List: r#"lint1, lint2, ..., /opt/ reason = "...""#), DuplicatesOk
`
``
315
`+
deny, Normal, template!(List: r#"lint1, lint2, ..., /opt/ reason = "...""#),
`
``
316
`+
DuplicatesOk, @only_local: true,
`
313
317
`),
`
314
318
`ungated!(must_use, Normal, template!(Word, NameValueStr: "reason"), FutureWarnFollowing),
`
315
319
`gated!(
`
`@@ -340,7 +344,7 @@ pub const BUILTIN_ATTRIBUTES: &[BuiltinAttribute] = &[
`
340
344
`),
`
341
345
`ungated!(link_name, Normal, template!(NameValueStr: "name"), FutureWarnPreceding),
`
342
346
`ungated!(no_link, Normal, template!(Word), WarnFollowing),
`
343
``
`-
ungated!(repr, Normal, template!(List: "C"), DuplicatesOk),
`
``
347
`+
ungated!(repr, Normal, template!(List: "C"), DuplicatesOk, @only_local: true),
`
344
348
`ungated!(export_name, Normal, template!(NameValueStr: "name"), FutureWarnPreceding),
`
345
349
`ungated!(link_section, Normal, template!(NameValueStr: "name"), FutureWarnPreceding),
`
346
350
`ungated!(no_mangle, Normal, template!(Word), WarnFollowing, @only_local: true),
`
`@@ -382,7 +386,10 @@ pub const BUILTIN_ATTRIBUTES: &[BuiltinAttribute] = &[
`
382
386
`ungated!(inline, Normal, template!(Word, List: "always|never"), FutureWarnFollowing, @only_local: true),
`
383
387
`ungated!(cold, Normal, template!(Word), WarnFollowing, @only_local: true),
`
384
388
`ungated!(no_builtins, CrateLevel, template!(Word), WarnFollowing),
`
385
``
`-
ungated!(target_feature, Normal, template!(List: r#"enable = "name""#), DuplicatesOk),
`
``
389
`+
ungated!(
`
``
390
`+
target_feature, Normal, template!(List: r#"enable = "name""#),
`
``
391
`+
DuplicatesOk, @only_local: true,
`
``
392
`+
),
`
386
393
`ungated!(track_caller, Normal, template!(Word), WarnFollowing),
`
387
394
`gated!(
`
388
395
` no_sanitize, Normal,
`
`@@ -488,18 +495,24 @@ pub const BUILTIN_ATTRIBUTES: &[BuiltinAttribute] = &[
`
488
495
`// Internal attributes: Stability, deprecation, and unsafe:
`
489
496
`// ==========================================================================
`
490
497
``
491
``
`-
ungated!(feature, CrateLevel, template!(List: "name1, name2, ..."), DuplicatesOk),
`
``
498
`+
ungated!(
`
``
499
`+
feature, CrateLevel,
`
``
500
`+
template!(List: "name1, name2, ..."), DuplicatesOk, @only_local: true,
`
``
501
`+
),
`
492
502
`// DuplicatesOk since it has its own validation
`
493
503
`ungated!(
`
494
``
`-
stable, Normal, template!(List: r#"feature = "name", since = "version""#), DuplicatesOk,
`
``
504
`+
stable, Normal,
`
``
505
`+
template!(List: r#"feature = "name", since = "version""#), DuplicatesOk, @only_local: true,
`
495
506
`),
`
496
507
`ungated!(
`
497
508
` unstable, Normal,
`
498
509
` template!(List: r#"feature = "name", reason = "...", issue = "N""#), DuplicatesOk,
`
499
510
`),
`
500
511
`ungated!(rustc_const_unstable, Normal, template!(List: r#"feature = "name""#), DuplicatesOk),
`
501
``
`-
ungated!(rustc_const_stable, Normal, template!(List: r#"feature = "name""#), DuplicatesOk),
`
502
``
`-
ungated!(rustc_safe_intrinsic, Normal, template!(Word), DuplicatesOk),
`
``
512
`+
ungated!(
`
``
513
`+
rustc_const_stable, Normal,
`
``
514
`+
template!(List: r#"feature = "name""#), DuplicatesOk, @only_local: true,
`
``
515
`+
),
`
503
516
`ungated!(
`
504
517
` rustc_default_body_unstable, Normal,
`
505
518
` template!(List: r#"feature = "name", reason = "...", issue = "N""#), DuplicatesOk
`
`@@ -517,6 +530,7 @@ pub const BUILTIN_ATTRIBUTES: &[BuiltinAttribute] = &[
`
517
530
` allow_internal_unsafe, Normal, template!(Word), WarnFollowing,
`
518
531
`"allow_internal_unsafe side-steps the unsafe_code lint",
`
519
532
`),
`
``
533
`+
ungated!(rustc_safe_intrinsic, Normal, template!(Word), DuplicatesOk),
`
520
534
`rustc_attr!(rustc_allowed_through_unstable_modules, Normal, template!(Word), WarnFollowing,
`
521
535
`"rustc_allowed_through_unstable_modules special cases accidental stabilizations of stable items \
`
522
536
` through unstable paths"),
`
`@@ -823,6 +837,8 @@ pub fn is_builtin_attr_name(name: Symbol) -> bool {
`
823
837
`BUILTIN_ATTRIBUTE_MAP.get(&name).is_some()
`
824
838
`}
`
825
839
``
``
840
`+
/// Whether this builtin attribute is only used in the local crate.
`
``
841
`+
/// If so, it is not encoded in the crate metadata.
`
826
842
`pub fn is_builtin_only_local(name: Symbol) -> bool {
`
827
843
`BUILTIN_ATTRIBUTE_MAP.get(&name).map_or(false, |attr| attr.only_local)
`
828
844
`}
`