Add documentation for the target_feature attribute - #160218
Conversation
Document the built-in `target_feature` attribute in the standard library using the `#[doc(attribute = "...")]` mechanism, following the existing `inline` and `cold` attribute documentation.
The Reference already lists where the attribute may appear, and these entries are meant to stay guide-level rather than exhaustive.
|
I don't know too much about this attribute so I prefer letting someone else review it. r? @RalfJung |
|
|
|
The attribute is already documented in the Reference. Is it a good idea to duplicate that documentation here? |
There was a problem hiding this comment.
This seems correct from the opsem side but the writing needs work.
Unfortunately I don't have the time to shepherd this all the way through.
r? @workingjubilee
| // | ||
| /// Enables extra CPU instructions for a single function. | ||
| /// | ||
| /// A program is compiled for a baseline CPU, so instructions that only newer CPUs support go |
There was a problem hiding this comment.
Where does the baseline come from?
| /// baseline. The `-C target-feature` and `-C target-cpu` compiler flags enable features for the | ||
| /// whole crate instead, which raises the minimum CPU the binary runs on. |
There was a problem hiding this comment.
This is an oddly dangling remark without flow.
It seems better to first mention the -C flags, and then pivot from there to the per-function version. Also, -Ctarget-cpu is very different from -Ctarget-fature, so throwing them into one bag here is quite confusing. -Ctarget-feature and #[target_feature] are closely related, they work on the same set of features; that should be mentioned.
|
|
|
Also, given the context in #160219, I would like to emphasize that in my view, we should not land AI-generated docs. I don't know if these docs were AI-generated, and this is just my opinion as the official policy banning AI-generated docs has not landed yet. But to inform my own judgment as a reviewer I'd like to know whether you wrote these docs entirely yourself or whether you edited a draft that was generated by AI. This is relevant because AI-generated text and code needs to be reviewed in a very different way than human-written text and code (because the kinds of mistakes AIs make are different from the mistakes humans make). |
Documents the
target_featureattribute, the next one from my claim on the tracking issue.The example is wrapped in a hidden
#[cfg(target_arch = "x86_64")]block, since feature names are architecture specific and the example has to compile everywhere the doctests run.Part of #157604
r? @GuillaumeGomez
Tested with
./x test library/core --doc --test-args attribute_docsand the same forlibrary/std.