-
Notifications
You must be signed in to change notification settings - Fork 489
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add identifiers to attributes.md and its subchapters #1560
Add identifiers to attributes.md and its subchapters #1560
Conversation
src/attributes.md
Outdated
@@ -15,29 +16,32 @@ | |||
> [_DelimTokenTree_]\ | |||
> | `=` [_Expression_] | |||
|
|||
r[attributes.general] |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Here and all elsewhere.
r[attributes.general] | |
r[attributes.intro] |
(As an aside, I wonder if definition
might fit these kinds of paragraphs better. We should probably define our common terms so that we understand when to use them appropriately.)
src/attributes/codegen.md
Outdated
When applied to a function in an `extern` block the attribute must also be applied to any linked | ||
implementations, otherwise undefined behavior results. When applied to a function which is made | ||
available to an `extern` block, the declaration in the `extern` block must also have the attribute, | ||
otherwise undefined behavior results. | ||
|
||
### Behavior | ||
|
||
r[attributes.codegen.track_caller.behaviour] |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Here and elsewhere
r[attributes.codegen.track_caller.behaviour] | |
r[attributes.codegen.track_caller.behavior] |
src/attributes/codegen.md
Outdated
@@ -397,8 +439,12 @@ And so on. | |||
|
|||
### Limitations | |||
|
|||
r[attributes.codegen.track_caller.limits] | |||
|
|||
r[attributes.codegent.track_caller.hint] |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Please be careful about spelling.
r[attributes.codegent.track_caller.hint] | |
r[attributes.codegen.track_caller.hint] |
src/attributes/codegen.md
Outdated
Both attributes can be used on [functions]. When applied to a function in a | ||
[trait], they apply only to that function when used as a default function for | ||
a trait implementation and not to all trait implementations. The attributes | ||
have no effect on a trait function without a body. | ||
|
||
### The `inline` attribute | ||
|
||
r[attributes.codgen.inline] |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
r[attributes.codgen.inline] | |
r[attributes.codegen.inline] |
src/attributes/diagnostics.md
Outdated
The *`deprecated` attribute* marks an item as deprecated. `rustc` will issue | ||
warnings on usage of `#[deprecated]` items. `rustdoc` will show item | ||
deprecation, including the `since` version and `note`, if available. | ||
|
||
r[attributes.diagnostics.deprectead.syntax] |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
r[attributes.diagnostics.deprectead.syntax] | |
r[attributes.diagnostics.deprecated.syntax] |
src/attributes/debugger.md
Outdated
It uses the [_MetaListNameValueStr_] syntax to specify its inputs, and must be specified as a crate attribute. | ||
|
||
### Using `debugger_visualizer` with Natvis | ||
|
||
r[attributes.debugger.debugger_visualizer.natvis] | ||
|
||
r[attributes.debugger.debugger_visualizer.natvis-general] |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Any particular reason to use -
and not .
for nativis-general
?
src/attributes/derive.md
Outdated
r[attributes.derive] | ||
|
||
|
||
r[attributes.derived.general] |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
r[attributes.derived.general] | |
r[attributes.derive.general] |
src/attributes/diagnostics.md
Outdated
@@ -390,6 +432,7 @@ impl Trait for i32 { | |||
5i32.use_me(); | |||
``` | |||
|
|||
r[attributes.diagnostics.must_use.impl-function] |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
To distinguish from other non-trait impl, maybe?
r[attributes.diagnostics.must_use.impl-function] | |
r[attributes.diagnostics.must_use.trait-impl-function] |
src/attributes/diagnostics.md
Outdated
@@ -424,36 +467,59 @@ When used on a function in a trait implementation, the attribute does nothing. | |||
|
|||
## The `diagnostic` tool attribute namespace | |||
|
|||
r[attributes.diagnostics.namespace] |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Hm, I'm on the fence here, since the namespace is singular diagnostic
. I realize this is in the "diagnostics" section, and being inconsistent with the rest of the section could be more trouble. I'm just a little concerned about seeing diagnostics.namespace
could confuse a reader, since it is a subtle distinction. WDYT?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'm thinking the section should be changed to diagnostic
because I've been otherwise favouring the singular form except for lists and when the construct is plural in the language.
src/attributes/limits.md
Outdated
The following [attributes] affect compile-time limits. | ||
|
||
## The `recursion_limit` attribute | ||
|
||
r[attributes.limits.recursion_limits] |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Here and elsewhere.
r[attributes.limits.recursion_limits] | |
r[attributes.limits.recursion_limit] |
I need to modify the identifiers to be more consistent with the other chapters, and the guidelines I wrote. @rustbot modify-labels +S-waiting-on-author -S-waiting-on-review |
@rustbot labels +S-waiting-on-author -S-waiting-on-review The CI is failing on this one. |
e579b2a
to
d3ef277
Compare
@rustbot labels +S-waiting-on-review -S-waiting-on-author |
This is just for navigation, these aren't specific rules.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks!
These are some misc rule name changes. Some of them are to give the rules more specific names (indicating what they do, instead of using generic terms). The `allowed-positions` name is intended to be used for all attributes to have a specific rule that defines where an attribute may be used. It is not consistently used, yet. Also, some of the paragraphs mix "where it goes" with "what it does" that should probably be teased apart so that we can label those independently. I expect us to do some more cleanup to bring some consistency to the attribute rules since there are a lot of attributes, and they generally have the same requirements of what needs to be specified.
This is keeping in line with using plurals throughout the rest of the naming convention. This also differentiates it from the `diagnostic` namespace. The `diagnostic` namespace remains singular, and is not nested with the plural `diagnostics` just to avoid the repetition.
94aa44f
to
4ef5f5d
Compare
This adds identifiers to the attributes.md file and its subchapters, being: