]> git.lizzy.rs Git - rust.git/blobdiff - CONTRIBUTING.md
make tests pass again
[rust.git] / CONTRIBUTING.md
index a57ef09e7db9ff5626192c4c2a15b0afaa1e75c6..42f77b5cbc0ed54667481ef12503134f62b2e33d 100644 (file)
@@ -28,6 +28,11 @@ install that exact version of rustc as a toolchain:
 This will set up a rustup toolchain called `miri` and set it as an override for
 the current directory.
 
+You can also create a `.auto-everything` file (contents don't matter, can be empty), which
+will cause any `./miri` command to automatically call `rustup-toolchain`, `clippy` and `rustfmt`
+for you. If you don't want all of these to happen, you can add individual `.auto-toolchain`,
+`.auto-clippy` and `.auto-fmt` files respectively.
+
 [`rustup-toolchain-install-master`]: https://github.com/kennytm/rustup-toolchain-install-master
 
 ## Building and testing Miri
@@ -163,11 +168,15 @@ to `.vscode/settings.json` in your local Miri clone:
         "./cargo-miri/Cargo.toml"
     ],
     "rust-analyzer.checkOnSave.overrideCommand": [
+        "env",
+        "MIRI_AUTO_OPS=no",
         "./miri",
         "check",
         "--message-format=json"
     ],
     "rust-analyzer.buildScripts.overrideCommand": [
+        "env",
+        "MIRI_AUTO_OPS=no",
         "./miri",
         "check",
         "--message-format=json",
@@ -244,6 +253,14 @@ rustup toolchain link stage2 build/x86_64-unknown-linux-gnu/stage2
 rustup override set stage2
 ```
 
+Note: When you are working with a locally built rustc or any other toolchain that
+is not the same as the one in `rust-version`, you should not have `.auto-everything` or
+`.auto-toolchain` as that will keep resetting your toolchain.
+
+```
+rm -f .auto-everything .auto-toolchain
+```
+
 Important: You need to delete the Miri cache when you change the stdlib; otherwise the
 old, chached version will be used. On Linux, the cache is located at `~/.cache/miri`,
 and on Windows, it is located at `%LOCALAPPDATA%\rust-lang\miri\cache`; the exact