Skip to content

Conversation

matthiaskrgr
Copy link
Member

@matthiaskrgr matthiaskrgr commented Oct 13, 2025

Successful merges:

r? @ghost
@rustbot modify labels: rollup

Create a similar rollup

Kobzol and others added 30 commits September 23, 2025 14:12
Use `rustc-josh-sync` merge commit message for pull PR description
- Implement support for 'assume' statements.
- Improve scheduling and next instruction type determination.
- Improve GenMC mode documentation.

Co-authored-by: Ralf Jung <post@ralfj.de>
Improve GenMC mode scheduling and add assume statements
This updates the rust-version file to b733736.
Pull recent changes from https://github.com/rust-lang/rust via Josh.

Upstream ref: b733736
Filtered ref: 62d76e7793dfad401d4a82041e6c587b4eef0854
Upstream diff: rust-lang/rust@f6092f2...b733736

This merge was created using https://github.com/rust-lang/josh-sync.
alloc_addresses: track more explicitly whether we are in charge of generating addresses
This updates the rust-version file to 848e674.
Pull recent changes from https://github.com/rust-lang/rust via Josh.

Upstream ref: 848e674
Filtered ref: 8a7a804ec197b593f553a523e3f76baf5fd56d0e
Upstream diff: rust-lang/rust@b733736...848e674

This merge was created using https://github.com/rust-lang/josh-sync.
This updates the rust-version file to f957826.
Pull recent changes from https://github.com/rust-lang/rust via Josh.

Upstream ref: f957826
Filtered ref: 60bcfdb370a3bae71714fc99a88aa9f2d2892733
Upstream diff: rust-lang/rust@848e674...f957826

This merge was created using https://github.com/rust-lang/josh-sync.
…racking must be disabled. Remove hacks for keeping all memory allocations in GenMC mode.
Implement Pointer conversions to and from GenMC.
genmc: bail out for non-64bit-little-endian targets
This updates the rust-version file to 29b7717.
Pull recent changes from https://github.com/rust-lang/rust via Josh.

Upstream ref: 29b7717
Filtered ref: fb4b6388017a4b5fa9806863ffe33ed23df840d4
Upstream diff: rust-lang/rust@f957826...29b7717

This merge was created using https://github.com/rust-lang/josh-sync.
…n GenMC mode.

Remove atomic initialization dummy writes from tests.
…mixing

Add support for temporal mixing of atomic and non-atomic accesses in GenMC mode
RalfJung and others added 20 commits October 10, 2025 10:25
readme: document how to directly invoke the driver
remove a bunch of unnecessary 'pub' from tests
`tracing` at the time of writing has a feature (?) in its Filter
implementation, so that filters like EnvFilter are consulted for status
of a span or event and whether it is marked as interesting for logging.
Combining a Filter with another layer through the `with_filter`
combinator produces a filtered layer that enables an event unless it is
statically determined that the event is uninteresting.
However, if the filter is dynamic, because of filtering on span names or
field values as an example, events are **always** enabled.
There is an `event_enabled` predicate on `EnvFilter` implementation but
it falls back to default and, thus, the dynamic filters are **unused**.

This patch re-enables span- and field-based filters.
native-lib args: also reject wide pointers
This updates the rust-version file to 36e4f5d.
Pull recent changes from https://github.com/rust-lang/rust via Josh.

Upstream ref: 36e4f5d
Filtered ref: ebb8df69f0a82b8a19e4f4b3cd32436022de4fa0
Upstream diff: rust-lang/rust@4fd3181...36e4f5d

This merge was created using https://github.com/rust-lang/josh-sync.
Supress swapping lhs and rhs in equality suggestion in extern macro

Fixes rust-lang#139050
…nethercote

Assert that non-extended temporaries and `super let` bindings have scopes

This PR clarifies a point of confusion in the compiler: all bodies have an outer temporary drop scope, including `static` and `const` item bodies[^1]. Whenever a temporary should be dropped in its enclosing temporary scope, it should have a temporary scope to be dropped in so that its drop can be scheduled[^2]. As such, I've updated some relevant comments and made `ScopeTree::default_temporary_scope` and `RvalueScopes::temporary_scope` panic when an enclosing temporary scope isn't found instead of allowing potential bugs where potentially-drop-sensitive temporaries are effectively given static lifetimes.

Since non-extended `super let` bindings are dropped in their block's enclosing temporary scope, this applies to them as well: the enclosing temporary scope should exist.

[^1]: See https://github.com/rust-lang/rust/blob/master/compiler/rustc_hir_analysis/src/check/region.rs#L773-L778 for non-`fn`/closure bodies. The `this.cx.var_parent = None;` enables [lifetime extension to `'static` lifetimes](https://doc.rust-lang.org/stable/reference/destructors.html#r-destructors.scope.lifetime-extension.static) and the `ScopeData::Destruction` scope ensures non-extended temporaries are dropped in the body expression's scope.

[^2]: For certain borrowed temporaries, drops that don't require running destructors may later be removed by constant promotion. That is unrelated to this PR.
…idtwco

Renumber return local after state transform

The current implementation of `StateTransform` renames `_0` before analyzing liveness. This is inconsistent, as a `return` terminator hardcodes a read of `_0`.

This PR proposes to perform such rename *after* analyzing the body, in fact after the whole transform. The implementation is not much more complicated.
…utlives, r=lcnr

rewrite outlives placeholder constraints to outlives static when handling opaque types

Fixes rust-lang#147529

r? lcnr

see test comment
…r=jdonszelmann

Make logging filters work again by moving EnvFilter into its own layer

`tracing` at the time of writing has a feature (?) in its Filter implementation, so that filters like EnvFilter are consulted for status of a span or event and whether it is marked as interesting for logging. Combining a Filter with another layer through the `with_filter` combinator produces a filtered layer that enables an event unless it is statically determined that the event is uninteresting. However, if the filter is dynamic, because of filtering on span names or field values as an example, events are **always** enabled by design. There is an `event_enabled` predicate on `EnvFilter` implementation but it falls back to default and, thus, the dynamic filters are **unused**.

Previously, `RUSTC_LOG=[]` or `RUSTC_LOG=[garbage]` enables all events, even when spans do not match.

This patch re-enables span- and field-based filters. With `RUSTC_LOG=[garbage]` one should expect no events are enabled again. This will help with development greatly because we can meaningfully filter internal logs again.
…r=JonathanBrouwer,GuillaumeGomez

reduce calls to attr.span() in old doc attr parsing

r? `@oli-obk`

should be trivial, can also delegate to `@GuillaumeGomez` or `@JonathanBrouwer.`

As part of making span() return an option I want to reduce the number of places we call span in without it being known what specific attr it's for. This makes that more obvious for doc. Part of a chain of PRs that's coming.

rust-lang#131229 (comment)
miri subtree update

Subtree update of `miri` to rust-lang/miri@47d6568.

Created using https://github.com/rust-lang/josh-sync.

r? `@ghost`
@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. rollup A PR which is a rollup labels Oct 13, 2025
@matthiaskrgr
Copy link
Member Author

@bors r+ rollup=never p=5

@bors
Copy link
Collaborator

bors commented Oct 13, 2025

📌 Commit 8d2b142 has been approved by matthiaskrgr

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 Oct 13, 2025
@bors
Copy link
Collaborator

bors commented Oct 13, 2025

⌛ Testing commit 8d2b142 with merge 4b94758...

bors added a commit that referenced this pull request Oct 13, 2025
Rollup of 7 pull requests

Successful merges:

 - #144266 (Supress swapping lhs and rhs in equality suggestion in extern macro )
 - #147471 (Assert that non-extended temporaries and `super let` bindings have scopes)
 - #147533 (Renumber return local after state transform)
 - #147566 (rewrite outlives placeholder constraints to outlives static when handling opaque types)
 - #147613 (Make logging filters work again by moving EnvFilter into its own layer)
 - #147615 (reduce calls to attr.span() in old doc attr parsing)
 - #147636 (miri subtree update)

r? `@ghost`
`@rustbot` modify labels: rollup
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

A-attributes Area: Attributes (`#[…]`, `#![…]`) rollup A PR which is a rollup 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.