Skip to content

Conversation

RalfJung and others added 26 commits October 29, 2022 12:04
./miri updates: toolchain, rustc-push, rustc-pull

This merges the `./rustup-toolchain` script into `./miri` as `./miri toolchain`, and adds two new commands for josh-based syncing.

r? `@rust-lang/miri`
Stacked Borrows: make scalar field retagging the default

I think it is time to finally close this soundness gap. Any objections? :)

Unfortunately the latest released versions of hashbrown and scopeguard can fail under full field retagging. The fixes have landed in the git repos but have not been released yet. I don't know if scalar field retagging as enabled by this PR is sufficient to cause problems with these crates, but it seems likely that this would be the case -- e.g. if both `value` and `dropfn` are scalars, the entire scopeguard struct will be a `ScalarPair` and thus get field retagging.

However, given that we actually generate LLVM `noalias` for these cases, it seems prudent to inform users of this risk. They can easily set `-Zmiri-field-retag=none` to opt-out of this change.

Cc rust-lang/miri#2528
…Jung

Followup for pr 2640

r? `@RalfJung`
InitOnce: synchronize with completion when already complete

The completion of an InitOnce happens-before the threads waiting on it wake up. However, this is not the case for threads that call `InitOnceBeginInitialize` after the completion, leading to data races and outdated weak memory loads as observed in the CI for  rust-lang#2638. This PR fixes this.
Implement condvars for Windows

Adds 3 shims for Windows: `SleepConditionVariableSRW`, `WakeConditionVariable`, `WakeAllConditionVariable` to add support for condvars (which fixes rust-lang#2628).

Salvaged from what was removed from rust-lang#2231
@rustbot
Copy link
Collaborator

rustbot commented Nov 6, 2022

r? @Mark-Simulacrum

(rustbot has picked a reviewer for you, use r? to override)

@rustbot rustbot added the S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. label Nov 6, 2022
@rustbot
Copy link
Collaborator

rustbot commented Nov 6, 2022

The Miri subtree was changed

cc @rust-lang/miri

@RalfJung
Copy link
Member Author

RalfJung commented Nov 6, 2022

@bors r+

@bors
Copy link
Collaborator

bors commented Nov 6, 2022

📌 Commit f60a2ae has been approved by RalfJung

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 6, 2022
@Dylan-DPC
Copy link
Member

@bors p=1

bors added a commit to rust-lang-ci/rust that referenced this pull request Nov 11, 2022
…earth

Rollup of 8 pull requests

Successful merges:

 - rust-lang#95292 (Allow specialized const trait impls.)
 - rust-lang#100386 (Make `Sized` coinductive, again)
 - rust-lang#102215 (Implement the `+whole-archive` modifier for `wasm-ld`)
 - rust-lang#103468 (Fix unused lint and parser caring about spaces to won't produce invalid code)
 - rust-lang#103531 (Suggest calling the instance method of the same name when method not found)
 - rust-lang#103960 (piece of diagnostic migrate)
 - rust-lang#104051 (update Miri)
 - rust-lang#104129 (rustdoc: use javascript to layout notable traits popups)

Failed merges:

r? `@ghost`
`@rustbot` modify labels: rollup
@bors bors merged commit e8bc6e1 into rust-lang:master Nov 11, 2022
@rustbot rustbot added this to the 1.67.0 milestone Nov 11, 2022
@RalfJung RalfJung deleted the miri branch November 15, 2022 16:22
Aaron1011 pushed a commit to Aaron1011/rust that referenced this pull request Jan 6, 2023
Aaron1011 pushed a commit to Aaron1011/rust that referenced this pull request Jan 6, 2023
…earth

Rollup of 8 pull requests

Successful merges:

 - rust-lang#95292 (Allow specialized const trait impls.)
 - rust-lang#100386 (Make `Sized` coinductive, again)
 - rust-lang#102215 (Implement the `+whole-archive` modifier for `wasm-ld`)
 - rust-lang#103468 (Fix unused lint and parser caring about spaces to won't produce invalid code)
 - rust-lang#103531 (Suggest calling the instance method of the same name when method not found)
 - rust-lang#103960 (piece of diagnostic migrate)
 - rust-lang#104051 (update Miri)
 - rust-lang#104129 (rustdoc: use javascript to layout notable traits popups)

Failed merges:

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
S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

7 participants