Skip to content
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

refactor(tree): Abstract the concept of a NodeId #15237

Merged
merged 6 commits into from
Feb 27, 2025

Conversation

epage
Copy link
Contributor

@epage epage commented Feb 26, 2025

What does this PR try to resolve?

This is a follow up to #15233.

The primary goal is to make things more type safe / easier to follow through adding semantic information to the types.

A secondary benefit is this allows us to track some light weight debug information in NodeIds making debugging Edges a lot easier.
We could put this behind a #[cfg(debug_asserts)] but I'm assuming this is cheap enough to not be worth doing that to the code.

How should we test and review this PR?

Additional information

The primary goal is to make the code more type safe / easier to follow.

This also can allow tracking debug information.
I found when debugging some issues with edges,
having to track indices was making things much more difficult.
My hope is this will help with little negative impact.

We could put this behind a `#[cfg(debug_asserts)]` but I'm assuming it
doesn't make enough of a performance difference to matter.
@rustbot
Copy link
Collaborator

rustbot commented Feb 26, 2025

r? @ehuss

rustbot has assigned @ehuss.
They will have a look at your PR within the next two weeks and either review your PR or reassign to another reviewer.

Use r? to explicitly pick a reviewer

@rustbot rustbot added Command-tree S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. labels Feb 26, 2025
Copy link
Member

@weihanglo weihanglo left a comment

Choose a reason for hiding this comment

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

All seem reasonable. Thanks for the refactor again!

@weihanglo weihanglo enabled auto-merge February 27, 2025 20:43
@weihanglo weihanglo added this pull request to the merge queue Feb 27, 2025
Merged via the queue into rust-lang:master with commit 3fe24ab Feb 27, 2025
21 checks passed
@epage epage deleted the node_id branch February 27, 2025 22:39
bors added a commit to rust-lang-ci/rust that referenced this pull request Feb 28, 2025
Update cargo

11 commits in 1d1d646c06a84c1aa53967b394b7f1218f85db82..2622e844bc1e2e6123e54e94e4706f7b6195ce3d
2025-02-21 21:38:53 +0000 to 2025-02-28 12:33:57 +0000
- Bump `cc` to 1.2.16 to fix `x86` windows jobs in rust-lang/rust CI (rust-lang/cargo#15245)
- refactor(tree): Abstract the concept of a NodeId (rust-lang/cargo#15237)
- feat: implement RFC 3553 to add SBOM support (rust-lang/cargo#13709)
- refactor(tree): Abstract the concept of an edge (rust-lang/cargo#15233)
- chore: bump openssl to v3 (rust-lang/cargo#15232)
- fix(package): Register workspace member renames in overlay  (rust-lang/cargo#15228)
- Implemented `build.build-dir` config option (rust-lang/cargo#15104)
- feat: add completions for `--manifest-path` (rust-lang/cargo#15225)
- chore: semver-check build-rs against beta channel (rust-lang/cargo#15223)
- chore: depend on openssl-sys to correctly pin its version (rust-lang/cargo#15224)
- chore: dont check cargo-util semver until 1.86 is released (rust-lang/cargo#15222)
@rustbot rustbot added this to the 1.87.0 milestone Feb 28, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Command-tree S-waiting-on-review Status: Awaiting review from the assignee but also interested parties.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants