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

Make most bootstrap step types !Copy #121570

Merged
merged 1 commit into from
Feb 25, 2024
Merged

Make most bootstrap step types !Copy #121570

merged 1 commit into from
Feb 25, 2024

Conversation

Noratrieb
Copy link
Member

This makes all bootstrap types except for Compiler and TargetSelection !Copy. This makes it easier to modify them by adding !Copy types in the future, something that @saethlin has complained about before, and comes at no cost of code clarity, the impls were completely unused.

Making Compiler and TargetSelection !Copy (which would allow getting rid of interning) is highly nontrivial as they are used and copied all over the place. This should hopefully get most of the benefits.

@rustbot
Copy link
Collaborator

rustbot commented Feb 24, 2024

r? @clubby789

rustbot has assigned @clubby789.
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
Copy link
Collaborator

rustbot commented Feb 24, 2024

This PR changes how LLVM is built. Consider updating src/bootstrap/download-ci-llvm-stamp.

@rustbot rustbot added S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. T-bootstrap Relevant to the bootstrap subteam: Rust's build system (x.py and src/bootstrap) labels Feb 24, 2024
This makes all bootstrap types except for `Compiler` and
`TargetSelection` `!Copy`. This makes it easier to modify them by adding
!Copy types in the future and comes at no cost of code clarity, the
impls were completely unused.
@clubby789
Copy link
Contributor

@bors r+ rollup

@bors
Copy link
Contributor

bors commented Feb 24, 2024

📌 Commit 2401ae1 has been approved by clubby789

It is now in the queue for this repository.

@bors bors added S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. and removed S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. labels Feb 24, 2024
@saethlin
Copy link
Member

(commenting here even though I've already said this elsewhere)

Making Compiler and TargetSelection !Copy (which would allow getting rid of interning) is highly nontrivial as they are used and copied all over the place. This should hopefully get most of the benefits.

This is a nice cleanup and I'm happy to see this PR, but what I wanted was a non-Copy TargetSelection. Which, yes, is hard.

bors added a commit to rust-lang-ci/rust that referenced this pull request Feb 25, 2024
…iaskrgr

Rollup of 9 pull requests

Successful merges:

 - rust-lang#119590 (Stabilize `cfg_target_abi`)
 - rust-lang#120805 (make non-PartialEq-typed consts as patterns a hard error)
 - rust-lang#121060 (Add newtypes for bool fields/params/return types)
 - rust-lang#121284 (Add test cases for inlining compiler-private items)
 - rust-lang#121324 (pattern_analysis: factor out unspecialization)
 - rust-lang#121409 (Prevent cycle in implied predicates computation)
 - rust-lang#121513 (Fix sgx unit test compilation)
 - rust-lang#121570 (Make most bootstrap step types !Copy)
 - rust-lang#121586 (Don't use `unwrap()` in `ArrayIntoIter` lint when typeck fails)

r? `@ghost`
`@rustbot` modify labels: rollup
@bors bors merged commit 3d5fd9d into rust-lang:master Feb 25, 2024
11 checks passed
@rustbot rustbot added this to the 1.78.0 milestone Feb 25, 2024
rust-timer added a commit to rust-lang-ci/rust that referenced this pull request Feb 25, 2024
Rollup merge of rust-lang#121570 - Nilstrieb:!copy, r=clubby789

Make most bootstrap step types !Copy

This makes all bootstrap types except for `Compiler` and `TargetSelection` `!Copy`. This makes it easier to modify them by adding !Copy types in the future, something that `@saethlin` has complained about before, and comes at no cost of code clarity, the impls were completely unused.

Making `Compiler` and `TargetSelection` `!Copy` (which would allow getting rid of interning) is highly nontrivial as they are used and copied **all over the place**. This should hopefully get most of the benefits.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. T-bootstrap Relevant to the bootstrap subteam: Rust's build system (x.py and src/bootstrap)
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants