about summary refs log tree commit diff
path: root/compiler/rustc_llvm/llvm-wrapper/RustWrapper.cpp
diff options
context:
space:
mode:
authorMatthias Krüger <matthias.krueger@famsik.de>2023-07-04 17:46:28 +0200
committerGitHub <noreply@github.com>2023-07-04 17:46:28 +0200
commit494e67c63c9b616b052d4cd9e70ca0b3f7f3cbd1 (patch)
tree0d74cadc92db5e4248a02cab0297a2f570bf62e3 /compiler/rustc_llvm/llvm-wrapper/RustWrapper.cpp
parentd951692057a21dd7bfdc8d58bc0d1499d397c219 (diff)
parent284b61417f13f6181168e85a0910084aaa482dea (diff)
downloadrust-494e67c63c9b616b052d4cd9e70ca0b3f7f3cbd1.tar.gz
rust-494e67c63c9b616b052d4cd9e70ca0b3f7f3cbd1.zip
Rollup merge of #113296 - BoxyUwU:proof_trees_on_error, r=lcnr
add flag for enabling global cache usage for proof trees and printing proof trees on error

This adds a few new things:
- `-Zdump-solver-proof-tree=always/never/on-error`
    - `always`/`never` were previosuly specifiable by whether the flag exists or not, th new flag is `on_error` which reruns obligations of fulfillment and selection errors with proof tree generation enabled and prints them out
- `-Zdump-solver-proof-tree-uses-cache`
    - allows forcing global cache to be used or unused for all generated proof trees, global cache is enabled by default for `always` so that it accurately represents what happend. This flag currently would affect misc uses of `GenerateProofTree::Yes` which will be added in the future for things like diagnostics logic and rustdoc's auto_trait file. We can fix this when we start using proof tree generation for those use cases if it's desirable.

I also changed the output to go straight to stdout instead of going through `debug!` so that `-Zdump-solver-proof-tree` can be adequately used on `nightly` not just a locally built toolchain.

The idea for `on-error` is that it should hopefully make it easier to quickly figure out "why doesnt this code compile"- you just pass in `-Zdump-solver-proof-tree=on-error` and you'll only get proof trees you care about.

---

r? `@lcnr` `@compiler-errors`
Diffstat (limited to 'compiler/rustc_llvm/llvm-wrapper/RustWrapper.cpp')
0 files changed, 0 insertions, 0 deletions