Skip to content

Conversation

@kornelski
Copy link
Contributor

The diagnostics for let at the top level did not account for let mut, which made the error unclear.

I've made the diagnostic always display a link to valid items. I've added dedicated help for let mut case that suggests using a Mutex (to steer novice users away from the static mut trap). Unfortunately, neither the Rust book, nor libstd docs have dedicated section listing all other types for interior-mutable statics.

@rustbot
Copy link
Collaborator

rustbot commented Nov 17, 2024

r? @chenyukang

rustbot has assigned @chenyukang.
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 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 Nov 17, 2024
@compiler-errors
Copy link
Member

r? compiler-errors @bors r+ rollup

@bors
Copy link
Collaborator

bors commented Nov 18, 2024

📌 Commit 7765f23 has been approved by compiler-errors

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 Nov 18, 2024
bors added a commit to rust-lang-ci/rust that referenced this pull request Nov 18, 2024
Rollup of 7 pull requests

Successful merges:

 - rust-lang#132795 (Check `use<..>` in RPITIT for refinement)
 - rust-lang#132944 (add parentheses when unboxing suggestion needed)
 - rust-lang#132993 (Make rustc consider itself a stable compiler when `RUSTC_BOOTSTRAP=-1`)
 - rust-lang#133130 (`suggest_borrow_generic_arg`: instantiate clauses properly)
 - rust-lang#133133 (rustdoc-search: add standalone trailing `::` test)
 - rust-lang#133143 (Diagnostics for let mut in item context)
 - rust-lang#133147 (Fixup some test directives)

r? `@ghost`
`@rustbot` modify labels: rollup
@bors bors merged commit 6c4a7b6 into rust-lang:master Nov 18, 2024
6 checks passed
@rustbot rustbot added this to the 1.84.0 milestone Nov 18, 2024
rust-timer added a commit to rust-lang-ci/rust that referenced this pull request Nov 18, 2024
Rollup merge of rust-lang#133143 - kornelski:let-mut-global, r=compiler-errors

Diagnostics for let mut in item context

The diagnostics for `let` at the top level did not account for `let mut`, which [made the error unclear](https://users.rust-lang.org/t/create-a-vector-of-constants-outside-main/121251/1).

I've made the diagnostic always display a link to valid items. I've added dedicated help for `let mut` case that suggests using a `Mutex` (to steer novice users away from the `static mut` trap). Unfortunately, neither the Rust book, nor libstd docs have dedicated section listing all other types for interior-mutable `static`s.
jhpratt added a commit to jhpratt/rust that referenced this pull request Nov 18, 2024
Document alternatives to `static mut`

In rust-lang#133143 I've noticed alternatives to `static mut` aren't documented anywhere.
matthiaskrgr added a commit to matthiaskrgr/rust that referenced this pull request Nov 18, 2024
Document alternatives to `static mut`

In rust-lang#133143 I've noticed alternatives to `static mut` aren't documented anywhere.
rust-timer added a commit to rust-lang-ci/rust that referenced this pull request Nov 18, 2024
Rollup merge of rust-lang#133145 - kornelski:static-mutex, r=traviscross

Document alternatives to `static mut`

In rust-lang#133143 I've noticed alternatives to `static mut` aren't documented anywhere.
@kornelski kornelski deleted the let-mut-global branch November 18, 2024 18:08
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-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.

5 participants