Skip to content

Conversation

@RalfJung
Copy link
Member

@RalfJung RalfJung commented Nov 9, 2025

The reference PR that goes with rust-lang/rust#148746.

Fixes #2074.

@rustbot rustbot added the S-waiting-on-review Status: The marked PR is awaiting review from a maintainer label Nov 9, 2025
@ehuss ehuss added the S-waiting-on-stabilization Waiting for a stabilization PR to be merged in the main Rust repository label Nov 11, 2025
@RalfJung
Copy link
Member Author

FCP passed, rust-lang/rust#148746 is in the bors queue now.

@traviscross traviscross removed the S-waiting-on-review Status: The marked PR is awaiting review from a maintainer label Nov 30, 2025
traviscross and others added 3 commits November 30, 2025 02:49
The rule is that "mutable references contained within a mutable static
may be referenced in the final value of a constant."

However, the key here is that "mutable static" means either a `static
mut` item or a `static` item with an interior mutable type.  We had
made that clear over in `const-eval.const-expr.path-static` but not in
our rules about const item validity, and our link for "mutable static"
had implied it may mean `static mut`.

Let's fix that and add an example to demonstrate the point.
These link reference definitions were used in `const.no-mut-refs` and
are no longer needed.
@rustbot
Copy link
Collaborator

rustbot commented Nov 30, 2025

This PR was rebased onto a different master commit. Here's a range-diff highlighting what actually changed.

Rebasing is a normal part of keeping PRs up to date, so no action is needed—this note is just to help reviewers.

@traviscross
Copy link
Contributor

I had a WIP commit to clean up the language we're about to delete. If the commit looks OK to you, I'd like to put this in the history for posterity's stake. I've stacked your commit onto it and also deleted the link reference definitions that are now unused.

@RalfJung
Copy link
Member Author

LGTM, thanks!

@traviscross traviscross added this pull request to the merge queue Dec 2, 2025
Merged via the queue into rust-lang:master with commit b14b4e4 Dec 2, 2025
5 checks passed
bors pushed a commit to rust-lang/rust that referenced this pull request Dec 3, 2025
Pulls in rust-lang/reference#2080 to fix the tests.
bors added a commit to rust-lang/rust that referenced this pull request Dec 3, 2025
ehuss added a commit to ehuss/rust that referenced this pull request Dec 11, 2025
This updates to mdbook 0.5.2 from mdbook 0.4.52. A primary aspect of
this change is that it splits the `mdbook` crate into multiple crates,
and various API changes and cleanup.

There's full release notes and a migration guide at
https://github.com/rust-lang/mdBook/blob/master/CHANGELOG.md#mdbook-050.

This also includes submodule updates:

## book

8 commits in f660f341887c8bbcd6c24fbfdf5d2a262f523965..9c9104e8a82430f97f42e738051bda718919211c
2025-10-27 21:41:51 -0400 to 2025-12-10 11:33:49 -0500
- Update to mdbook 0.5
- Update ch07-02-defining-modules-to-control-scope-and-privacy.md
- use AND for search terms
- Consistently use let...else
- Merge branch 'main' into fix-typo-17-02
- Fix typo in section 17.2
- Revert "Fix typo in section 17.2"
- Fix typo in section 17.2

## edition-guide

2 commits in 5c621253d8f2a5a4adb64a6365905db67dffe3a2..c3c0f0b3da26610138b7ba7663f60cd2c68cf184
2025-10-23 14:13:01 +0000 to 2025-11-28 18:54:18 +0000
- Update to mdbook 0.5 (rust-lang/edition-guide#381)
- Link to 1.56.0 and 1.85.0 blog posts (rust-lang/edition-guide#380)

## nomicon

6 commits in 60f0b30d8ec1c9eb5c2582f2ec55f1094b0f8c42..9fe8fa599ad228dda74f240cc32b54bc5c1aa3e6
2025-10-20 13:05:39 +0000 to 2025-12-03 11:54:04 +0000
- Remove references to outdated unsafe code guidelines (rust-lang/nomicon#512)
- Update to mdbook 0.5 (rust-lang/nomicon#511)
- Fix grammar in ffi.md (rust-lang/nomicon#510)
- Add CITATION.cff (rust-lang/nomicon#507)
- Use the newest Layout::array size checks for vec-alloc (rust-lang/nomicon#508)
- review comment: dropck analysis is *not* trivial (rust-lang/nomicon#498)

## reference

17 commits in e122eefff3fef362eb7e0c08fb7ffbf5f9461905..50c5de90487b68d429a30cc9466dc8f5b410128f
2025-10-28 20:52:27 +0000 to 2025-12-09 22:19:05 +0000
- UB: update the extra clause for provenance UB during const evaluation (rust-lang/reference#2091)
- Remove `[no-mentions]` handler in our triagebot config (rust-lang/reference#2102)
- Clarify that omitting `nostack` is a promise from the compiler to the programmer (rust-lang/reference#1999)
- Specify that range patterns must be nonempty. (rust-lang/reference#2093)
- Update to mdbook 0.5 (rust-lang/reference#2096)
- get rid of const.no-mut-refs (rust-lang/reference#2080)
- use oxford comma (rust-lang/reference#2099)
- document `cfg` conditions on inline assembly templates and operands (rust-lang/reference#2063)
- remove unused "link reference definitions" (rust-lang/reference#2092)
- Add review process overview to review-policy.md (rust-lang/reference#2088)
- Remove restriction on dereferencing pointers in const (rust-lang/reference#2090)
- add 'system' to variadic ABIs (rust-lang/reference#2069)
- Guarantee the binary representation of `isize` explicitly (rust-lang/reference#2064)
- Update `no_implicit_prelude` to use the attribute template (rust-lang/reference#1914)
- Update `no_std` to use the attribute template (rust-lang/reference#1913)
- const_eval.md: be more clear where link leads to (rust-lang/reference#2083)
- specify s390x target features (rust-lang/reference#1972)

## rust-by-example

7 commits in 160e6bbca70b0c01aa4de88d19db7fc5ff8447c3..7d21279e40e8f0e91c2a22c5148dd2d745aef8b6
2025-11-03 09:26:45 -0300 to 2025-12-01 15:02:09 -0300
- Update to mdbook 0.5 (rust-lang/rust-by-example#1977)
- Use `From::from` fn pointer to convert to boxed errors (rust-lang/rust-by-example#1906)
- link the _tuple_ page instead "TupleStruct" (rust-lang/rust-by-example#1909)
- enum_use.md: avoid an uncommon term (rust-lang/rust-by-example#1976)
- make search less surprising (rust-lang/rust-by-example#1975)
- Update documentation for `any` function in iter_any.md (rust-lang/rust-by-example#1973)
- Revise `Path` type documentation for clarity (rust-lang/rust-by-example#1972)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

S-waiting-on-stabilization Waiting for a stabilization PR to be merged in the main Rust repository

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Note in no-mutable-refs in consts is confusing

4 participants