Skip to content

Commit d8c69df

Browse files
committed
Auto merge of rust-lang#115095 - RalfJung:miri, r=RalfJung
update Miri r? `@ghost`
2 parents b2e9d73 + 47ba2a9 commit d8c69df

File tree

22 files changed

+326
-100
lines changed

22 files changed

+326
-100
lines changed

Cargo.lock

+27-26
Original file line numberDiff line numberDiff line change
@@ -218,7 +218,7 @@ dependencies = [
218218
"proc-macro2",
219219
"quote",
220220
"serde",
221-
"syn 2.0.27",
221+
"syn 2.0.29",
222222
]
223223

224224
[[package]]
@@ -500,7 +500,7 @@ dependencies = [
500500
"heck",
501501
"proc-macro2",
502502
"quote",
503-
"syn 2.0.27",
503+
"syn 2.0.29",
504504
]
505505

506506
[[package]]
@@ -525,7 +525,7 @@ dependencies = [
525525
"regex",
526526
"rustc_tools_util",
527527
"serde",
528-
"syn 2.0.27",
528+
"syn 2.0.29",
529529
"tempfile",
530530
"termize",
531531
"tester",
@@ -849,7 +849,7 @@ dependencies = [
849849
"proc-macro2",
850850
"quote",
851851
"strsim",
852-
"syn 2.0.27",
852+
"syn 2.0.29",
853853
]
854854

855855
[[package]]
@@ -860,7 +860,7 @@ checksum = "836a9bbc7ad63342d6d6e7b815ccab164bc77a2d95d84bc3117a8c0d5c98e2d5"
860860
dependencies = [
861861
"darling_core",
862862
"quote",
863-
"syn 2.0.27",
863+
"syn 2.0.29",
864864
]
865865

866866
[[package]]
@@ -875,7 +875,7 @@ version = "0.1.73"
875875
dependencies = [
876876
"itertools",
877877
"quote",
878-
"syn 2.0.27",
878+
"syn 2.0.29",
879879
]
880880

881881
[[package]]
@@ -911,7 +911,7 @@ dependencies = [
911911
"darling",
912912
"proc-macro2",
913913
"quote",
914-
"syn 2.0.27",
914+
"syn 2.0.29",
915915
]
916916

917917
[[package]]
@@ -988,7 +988,7 @@ checksum = "487585f4d0c6655fe74905e2504d8ad6908e4db67f744eb140876906c2f3175d"
988988
dependencies = [
989989
"proc-macro2",
990990
"quote",
991-
"syn 2.0.27",
991+
"syn 2.0.29",
992992
]
993993

994994
[[package]]
@@ -1354,7 +1354,7 @@ checksum = "89ca545a94061b6365f2c7355b4b32bd20df3ff95f02da9329b34ccc3bd6ee72"
13541354
dependencies = [
13551355
"proc-macro2",
13561356
"quote",
1357-
"syn 2.0.27",
1357+
"syn 2.0.29",
13581358
]
13591359

13601360
[[package]]
@@ -2334,6 +2334,7 @@ dependencies = [
23342334
"rand",
23352335
"regex",
23362336
"rustc_version",
2337+
"serde",
23372338
"smallvec",
23382339
"ui_test",
23392340
]
@@ -2503,7 +2504,7 @@ checksum = "a948666b637a0f465e8564c73e89d4dde00d72d4d473cc972f390fc3dcee7d9c"
25032504
dependencies = [
25042505
"proc-macro2",
25052506
"quote",
2506-
"syn 2.0.27",
2507+
"syn 2.0.29",
25072508
]
25082509

25092510
[[package]]
@@ -2691,7 +2692,7 @@ dependencies = [
26912692
"pest_meta",
26922693
"proc-macro2",
26932694
"quote",
2694-
"syn 2.0.27",
2695+
"syn 2.0.29",
26952696
]
26962697

26972698
[[package]]
@@ -3636,7 +3637,7 @@ dependencies = [
36363637
"fluent-syntax",
36373638
"proc-macro2",
36383639
"quote",
3639-
"syn 2.0.27",
3640+
"syn 2.0.29",
36403641
"unic-langid",
36413642
]
36423643

@@ -3906,7 +3907,7 @@ version = "0.1.0"
39063907
dependencies = [
39073908
"proc-macro2",
39083909
"quote",
3909-
"syn 2.0.27",
3910+
"syn 2.0.29",
39103911
"synstructure 0.13.0",
39113912
]
39123913

@@ -4514,7 +4515,7 @@ dependencies = [
45144515
"proc-macro2",
45154516
"quote",
45164517
"serde",
4517-
"syn 2.0.27",
4518+
"syn 2.0.29",
45184519
]
45194520

45204521
[[package]]
@@ -4666,22 +4667,22 @@ dependencies = [
46664667

46674668
[[package]]
46684669
name = "serde"
4669-
version = "1.0.164"
4670+
version = "1.0.185"
46704671
source = "registry+https://github.com/rust-lang/crates.io-index"
4671-
checksum = "9e8c8cf938e98f769bc164923b06dce91cea1751522f46f8466461af04c9027d"
4672+
checksum = "be9b6f69f1dfd54c3b568ffa45c310d6973a5e5148fd40cf515acaf38cf5bc31"
46724673
dependencies = [
46734674
"serde_derive",
46744675
]
46754676

46764677
[[package]]
46774678
name = "serde_derive"
4678-
version = "1.0.164"
4679+
version = "1.0.185"
46794680
source = "registry+https://github.com/rust-lang/crates.io-index"
4680-
checksum = "d9735b638ccc51c28bf6914d90a2e9725b377144fc612c49a611fddd1b631d68"
4681+
checksum = "dc59dfdcbad1437773485e0367fea4b090a2e0a16d9ffc46af47764536a298ec"
46814682
dependencies = [
46824683
"proc-macro2",
46834684
"quote",
4684-
"syn 2.0.27",
4685+
"syn 2.0.29",
46854686
]
46864687

46874688
[[package]]
@@ -4962,9 +4963,9 @@ dependencies = [
49624963

49634964
[[package]]
49644965
name = "syn"
4965-
version = "2.0.27"
4966+
version = "2.0.29"
49664967
source = "registry+https://github.com/rust-lang/crates.io-index"
4967-
checksum = "b60f673f44a8255b9c8c657daf66a596d435f2da81a555b06dc644d080ba45e0"
4968+
checksum = "c324c494eba9d92503e6f1ef2e6df781e78f6a7705a0202d9801b198807d518a"
49684969
dependencies = [
49694970
"proc-macro2",
49704971
"quote",
@@ -4991,7 +4992,7 @@ checksum = "285ba80e733fac80aa4270fbcdf83772a79b80aa35c97075320abfee4a915b06"
49914992
dependencies = [
49924993
"proc-macro2",
49934994
"quote",
4994-
"syn 2.0.27",
4995+
"syn 2.0.29",
49954996
"unicode-xid",
49964997
]
49974998

@@ -5161,7 +5162,7 @@ checksum = "6bb623b56e39ab7dcd4b1b98bb6c8f8d907ed255b18de254088016b27a8ee19b"
51615162
dependencies = [
51625163
"proc-macro2",
51635164
"quote",
5164-
"syn 2.0.27",
5165+
"syn 2.0.29",
51655166
]
51665167

51675168
[[package]]
@@ -5382,7 +5383,7 @@ checksum = "5f4f31f56159e98206da9efd823404b79b6ef3143b4a7ab76e67b1751b25a4ab"
53825383
dependencies = [
53835384
"proc-macro2",
53845385
"quote",
5385-
"syn 2.0.27",
5386+
"syn 2.0.29",
53865387
]
53875388

53885389
[[package]]
@@ -5777,7 +5778,7 @@ dependencies = [
57775778
"once_cell",
57785779
"proc-macro2",
57795780
"quote",
5780-
"syn 2.0.27",
5781+
"syn 2.0.29",
57815782
"wasm-bindgen-shared",
57825783
]
57835784

@@ -5811,7 +5812,7 @@ checksum = "54681b18a46765f095758388f2d0cf16eb8d4169b639ab575a8f5693af210c7b"
58115812
dependencies = [
58125813
"proc-macro2",
58135814
"quote",
5814-
"syn 2.0.27",
5815+
"syn 2.0.29",
58155816
"wasm-bindgen-backend",
58165817
"wasm-bindgen-shared",
58175818
]

src/tools/miri/.github/workflows/ci.yml

-2
Original file line numberDiff line numberDiff line change
@@ -189,8 +189,6 @@ jobs:
189189
fetch-depth: 256 # get a bit more of the history
190190
- name: install josh-proxy
191191
run: cargo +stable install josh-proxy --git https://github.com/josh-project/josh --tag r22.12.06
192-
- name: start josh-proxy
193-
run: josh-proxy --local=$HOME/.cache/josh --remote=https://github.com --no-background &
194192
- name: setup bot git name and email
195193
run: |
196194
git config --global user.name 'The Miri Conjob Bot'

src/tools/miri/CONTRIBUTING.md

+22-24
Original file line numberDiff line numberDiff line change
@@ -165,16 +165,17 @@ to `.vscode/settings.json` in your local Miri clone:
165165
{
166166
"rust-analyzer.rustc.source": "discover",
167167
"rust-analyzer.linkedProjects": [
168-
"./Cargo.toml",
169-
"./cargo-miri/Cargo.toml"
168+
"Cargo.toml",
169+
"cargo-miri/Cargo.toml",
170+
"miri-script/Cargo.toml",
170171
],
171-
"rust-analyzer.checkOnSave.overrideCommand": [
172+
"rust-analyzer.check.overrideCommand": [
172173
"env",
173174
"MIRI_AUTO_OPS=no",
174175
"./miri",
175176
"cargo",
176177
"clippy", // make this `check` when working with a locally built rustc
177-
"--message-format=json"
178+
"--message-format=json",
178179
],
179180
// Contrary to what the name suggests, this also affects proc macros.
180181
"rust-analyzer.cargo.buildScripts.overrideCommand": [
@@ -230,25 +231,16 @@ You can also directly run Miri on a Rust source file:
230231
## Advanced topic: Syncing with the rustc repo
231232

232233
We use the [`josh` proxy](https://github.com/josh-project/josh) to transmit changes between the
233-
rustc and Miri repositories.
234+
rustc and Miri repositories. You can install it as follows:
234235

235236
```sh
236237
cargo +stable install josh-proxy --git https://github.com/josh-project/josh --tag r22.12.06
237-
josh-proxy --local=$HOME/.cache/josh --remote=https://github.com --no-background
238238
```
239239

240-
This uses a directory `$HOME/.cache/josh` as a cache, to speed up repeated pulling/pushing.
241-
242-
To make josh push via ssh instead of https, you can add the following to your `.gitconfig`:
243-
244-
```toml
245-
[url "git@github.com:"]
246-
pushInsteadOf = https://github.com/
247-
```
240+
Josh will automatically be started and stopped by `./miri`.
248241

249242
### Importing changes from the rustc repo
250243

251-
Josh needs to be running, as described above.
252244
We assume we start on an up-to-date master branch in the Miri repo.
253245

254246
```sh
@@ -267,16 +259,14 @@ needed.
267259

268260
### Exporting changes to the rustc repo
269261

270-
Keep in mind that pushing is the most complicated job that josh has to do --
271-
pulling just filters the rustc history, but pushing needs to construct a new
272-
rustc history that would filter to the given Miri history! To avoid problems, it
273-
is a good idea to always pull immediately before you push. In particular, you
274-
should never do two josh pushes without an intermediate pull; that can lead to
275-
duplicated commits.
262+
Keep in mind that pushing is the most complicated job that josh has to do -- pulling just filters
263+
the rustc history, but pushing needs to construct a new rustc history that would filter to the given
264+
Miri history! To avoid problems, it is a good idea to always pull immediately before you push. If
265+
you are getting strange errors, chances are you are running into [this josh
266+
bug](https://github.com/josh-project/josh/issues/998). In that case, please get in touch on Zulip.
276267

277-
Josh needs to be running, as described above. We will use the josh proxy to push
278-
to your fork of rustc. Run the following in the Miri repo, assuming we are on an
279-
up-to-date master branch:
268+
We will use the josh proxy to push to your fork of rustc. Run the following in the Miri repo,
269+
assuming we are on an up-to-date master branch:
280270

281271
```sh
282272
# Push the Miri changes to your rustc fork (substitute your github handle for YOUR_NAME).
@@ -286,3 +276,11 @@ up-to-date master branch:
286276
This will create a new branch called 'miri' in your fork, and the output should
287277
include a link to create a rustc PR that will integrate those changes into the
288278
main repository.
279+
280+
If this fails due to authentication problems, it can help to make josh push via ssh instead of
281+
https. Add the following to your `.gitconfig`:
282+
283+
```toml
284+
[url "git@github.com:"]
285+
pushInsteadOf = https://github.com/
286+
```

src/tools/miri/Cargo.lock

+11-10
Original file line numberDiff line numberDiff line change
@@ -443,6 +443,7 @@ dependencies = [
443443
"rand",
444444
"regex",
445445
"rustc_version",
446+
"serde",
446447
"smallvec",
447448
"ui_test",
448449
]
@@ -528,18 +529,18 @@ checksum = "5b40af805b3121feab8a3c29f04d8ad262fa8e0561883e7653e024ae4479e6de"
528529

529530
[[package]]
530531
name = "proc-macro2"
531-
version = "1.0.60"
532+
version = "1.0.66"
532533
source = "registry+https://github.com/rust-lang/crates.io-index"
533-
checksum = "dec2b086b7a862cf4de201096214fa870344cf922b2b30c167badb3af3195406"
534+
checksum = "18fb31db3f9bddb2ea821cde30a9f70117e3f119938b5ee630b7403aa6e2ead9"
534535
dependencies = [
535536
"unicode-ident",
536537
]
537538

538539
[[package]]
539540
name = "quote"
540-
version = "1.0.26"
541+
version = "1.0.33"
541542
source = "registry+https://github.com/rust-lang/crates.io-index"
542-
checksum = "4424af4bf778aae2051a77b60283332f386554255d722233d09fbfc7e30da2fc"
543+
checksum = "5267fca4496028628a95160fc423a33e8b2e6af8a5302579e322e4b520293cae"
543544
dependencies = [
544545
"proc-macro2",
545546
]
@@ -685,18 +686,18 @@ dependencies = [
685686

686687
[[package]]
687688
name = "serde"
688-
version = "1.0.162"
689+
version = "1.0.185"
689690
source = "registry+https://github.com/rust-lang/crates.io-index"
690-
checksum = "71b2f6e1ab5c2b98c05f0f35b236b22e8df7ead6ffbf51d7808da7f8817e7ab6"
691+
checksum = "be9b6f69f1dfd54c3b568ffa45c310d6973a5e5148fd40cf515acaf38cf5bc31"
691692
dependencies = [
692693
"serde_derive",
693694
]
694695

695696
[[package]]
696697
name = "serde_derive"
697-
version = "1.0.162"
698+
version = "1.0.185"
698699
source = "registry+https://github.com/rust-lang/crates.io-index"
699-
checksum = "a2a0814352fd64b58489904a44ea8d90cb1a91dcb6b4f5ebabc32c8318e93cb6"
700+
checksum = "dc59dfdcbad1437773485e0367fea4b090a2e0a16d9ffc46af47764536a298ec"
700701
dependencies = [
701702
"proc-macro2",
702703
"quote",
@@ -737,9 +738,9 @@ checksum = "a2eb9349b6444b326872e140eb1cf5e7c522154d69e7a0ffb0fb81c06b37543f"
737738

738739
[[package]]
739740
name = "syn"
740-
version = "2.0.15"
741+
version = "2.0.29"
741742
source = "registry+https://github.com/rust-lang/crates.io-index"
742-
checksum = "a34fcf3e8b60f57e6a14301a2e916d323af98b0ea63c599441eec8558660c822"
743+
checksum = "c324c494eba9d92503e6f1ef2e6df781e78f6a7705a0202d9801b198807d518a"
743744
dependencies = [
744745
"proc-macro2",
745746
"quote",

src/tools/miri/Cargo.toml

+2
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,8 @@ rustc_version = "0.4"
4141
# Features chosen to match those required by env_logger, to avoid rebuilds
4242
regex = { version = "1.5.5", default-features = false, features = ["perf", "std"] }
4343
lazy_static = "1.4.0"
44+
# Require a version of serde without intransparent unreproducible binary blobs.
45+
serde = { version = "1.0.185", features = ["derive"] }
4446

4547
[package.metadata.rust-analyzer]
4648
# This crate uses #[feature(rustc_private)].

src/tools/miri/README.md

+2-2
Original file line numberDiff line numberDiff line change
@@ -458,8 +458,8 @@ Some native rustc `-Z` flags are also very relevant for Miri:
458458
Moreover, Miri recognizes some environment variables:
459459

460460
* `MIRI_AUTO_OPS` indicates whether the automatic execution of rustfmt, clippy and toolchain setup
461-
should be skipped. If it is set to any value, they are skipped. This is used for avoiding infinite
462-
recursion in `./miri` and to allow automated IDE actions to avoid the auto ops.
461+
should be skipped. If it is set to `no`, they are skipped. This is used to allow automated IDE
462+
actions to avoid the auto ops.
463463
* `MIRI_LOG`, `MIRI_BACKTRACE` control logging and backtrace printing during
464464
Miri executions, also [see "Testing the Miri driver" in `CONTRIBUTING.md`][testing-miri].
465465
* `MIRIFLAGS` (recognized by `cargo miri` and the test suite) defines extra

0 commit comments

Comments
 (0)