Skip to content

Refactor rustc_attr_data_structures documentation #142082

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

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

xizheyin
Copy link
Contributor

@xizheyin xizheyin commented Jun 5, 2025

I was reading through AttributeKind and realized that attributes like InlineAttr didn't appear in it, however, I found them in rustc_codegen_ssa and understood why (guessing).

There's almost no overall documentation for this crate, I've added the organized documentation at the top of lib.rs, and I've grouped the Attributes into two categories: AttributeKind that run all through the compiler, and the ones that are only used in codegen_ssa, such as InlineAttr, OptimizeAttr, InstructionSetAttr.

Also, I've added documentation for AttributeKind that further explains why attributes like InlineAttr don't appear in it, with examples for each variant.

r? @jdonszelmann

@rustbot rustbot added A-attributes Area: Attributes (`#[…]`, `#![…]`) S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. T-compiler Relevant to the compiler team, which will review and decide on the PR/issue. labels Jun 5, 2025
@rustbot
Copy link
Collaborator

rustbot commented Jun 5, 2025

Some changes occurred in compiler/rustc_attr_data_structures

cc @jdonszelmann

@xizheyin xizheyin force-pushed the rustc_attr_data_structures branch from ff9276d to 1cf957f Compare June 5, 2025 14:16
Copy link
Contributor

@jdonszelmann jdonszelmann left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

As per my previous comments, won't approve this PR for the time being despite it having some good changes.

@rustbot rustbot added S-waiting-on-author Status: This is awaiting some action (such as code changes or more information) from the author. and removed S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. labels Jun 6, 2025
@xizheyin xizheyin force-pushed the rustc_attr_data_structures branch from 1cf957f to b867d3e Compare June 6, 2025 14:10
Copy link
Contributor Author

@xizheyin xizheyin left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I also remove the comments in variants of AttributeKind.
@rustbot ready

@rustbot rustbot added S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. and removed S-waiting-on-author Status: This is awaiting some action (such as code changes or more information) from the author. labels Jun 6, 2025
@jdonszelmann
Copy link
Contributor

@rustbot author

@rustbot rustbot added S-waiting-on-author Status: This is awaiting some action (such as code changes or more information) from the author. and removed S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. labels Jun 12, 2025
@rustbot
Copy link
Collaborator

rustbot commented Jun 12, 2025

Reminder, once the PR becomes ready for a review, use @rustbot ready.

@xizheyin xizheyin force-pushed the rustc_attr_data_structures branch from b867d3e to c269af8 Compare June 12, 2025 11:30
@xizheyin
Copy link
Contributor Author

@rustbot ready

@rustbot rustbot added S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. and removed S-waiting-on-author Status: This is awaiting some action (such as code changes or more information) from the author. labels Jun 12, 2025
@jdonszelmann
Copy link
Contributor

likely to conflict (minorly) with #138164, let's wait for that to merge (or preemptively rebase ontop of it). It's in the queue, judging by the state of which it'll take an hour or 8 for that to get through. Will look again tonight (european time)

@xizheyin
Copy link
Contributor Author

xizheyin commented Jun 13, 2025

Seems to not conflict with #138164, let me rebase it.

@xizheyin xizheyin force-pushed the rustc_attr_data_structures branch from c269af8 to 4ef6670 Compare June 13, 2025 05:24
@@ -1,3 +1,35 @@
//! Data structures for representing parsed attributes in the Rust compiler.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Once more, I won't merge this documentation here. Only a link to rustc_attr_parsing is all that's needed so we don't have to keep two sets of docs up to date.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@rustbot author

@rustbot rustbot added S-waiting-on-author Status: This is awaiting some action (such as code changes or more information) from the author. and removed S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. labels Jun 13, 2025
Signed-off-by: xizheyin <xizheyin@smail.nju.edu.cn>
@xizheyin xizheyin force-pushed the rustc_attr_data_structures branch from 4ef6670 to be82bad Compare June 14, 2025 02:17
Copy link
Contributor Author

@xizheyin xizheyin left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@rustbot ready

@@ -1,3 +1,30 @@
//! Data structures for representing parsed attributes in the Rust compiler.
//!
//! For detailed documentation about attribute processing, see [rustc_attr_parsing](https://doc.rust-lang.org/nightly/nightly-rustc/rustc_attr_parsing/index.html).
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

My understanding is that a link is added at the top of rustc_attr_data_structures, but the rest of the content is retained because the rest of the content points to the structures in rustc_attr_data_structures. Is that correct?

Or do I have to move all the documentation at the top of rustc_attr_data_structures/src/lib.rs into rustc_attr_parsing, and then just keep a link?

I may not have been too clear on whether it was the former or the latter. My understanding is the former, since the two crates have different responsibilities. And in my previous version, I mixed up part of the parsed documentation in rustc_attr_data_structures, so add a copy of the link.

@rustbot rustbot added S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. and removed S-waiting-on-author Status: This is awaiting some action (such as code changes or more information) from the author. labels Jun 14, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
A-attributes Area: Attributes (`#[…]`, `#![…]`) S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. T-compiler Relevant to the compiler team, which will review and decide on the PR/issue.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants