-
Notifications
You must be signed in to change notification settings - Fork 12.9k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Rollup of 16 pull requests #73528
Rollup of 16 pull requests #73528
Conversation
Co-authored-by: Bastian Kauschke <bastian_kauschke@hotmail.de>
Emit an error when incompatible sanitizer are configured through command line options. Previously the last one configured prevailed and others were silently ignored. Additionally use a set to represent configured sanitizers, making it possible to enable multiple sanitizers at once. At least in principle, since currently all of them are considered to be incompatible with others.
It does the same thing as `Deref` now
The `Call` terminator only works with `FnDef` and `FnPtr` types. It happened to work with `Self` so far because it was always substituted with the real type before being used.
No one actually works with src/tools/librustdoc, it's almost empty.
This is required to avoid cycles when evaluating auto trait predicates.
This commit modifies the pretty printer and const eval in the MIR so that `destructure_const` (used in `pretty_print_const_value`) can handle enums with no variants (or types containing enums with no variants). Signed-off-by: David Wood <david@davidtw.co>
Make `need_type_info_err` more conservative Makes sure arg patterns we are going to suggest on are actually contained within the span of the obligation that caused the inference error (credit to @lcnr for suggesting this fix). There's a subtle trade-off regarding the handling of local patterns which I've left a comment about. Resolves rust-lang#72690
…nikic Diagnose use of incompatible sanitizers Emit an error when incompatible sanitizer are configured through command line options. Previously the last one configured prevailed and others were silently ignored. Additionally use a set to represent configured sanitizers, making it possible to enable multiple sanitizers at once. At least in principle, since currently all of them are considered to be incompatible with others.
…tthewjasper shim.rs: avoid creating `Call` terminators calling `Self` Also contains some cleanup and doc comment additions so I could make sense of the code. Fixes rust-lang#73109 Closes rust-lang#73175 r? @matthewjasper
…an-DPC Clean up E0668 explanation r? @Dylan-DPC
…an-DPC Clean up E0670 explanation r? @Dylan-DPC
…ark-Simulacrum Add src/librustdoc as an alias for src/tools/rustdoc No one actually works with src/tools/rustdoc, it's almost empty. Closes rust-lang#73439
…const-val-enum-no-variants, r=oli-obk pretty/mir: const value enums with no variants Fixes rust-lang#72181. This PR modifies the pretty printer and const eval in the MIR so that `destructure_const` (used in `pretty_print_const_value`) can handle enums with no variants (or types containing enums with no variants). I'm not convinced that this is the correct approach, folks more familiar with `destructure_const` would be able to say - happy to adjust the PR. Looking through `destructure_const` and the functions that it invokes, it didn't seem like it was written to handle zero-variant-enums - I assume that case is handled earlier in some way so `destructure_const` doesn't need to under normal circumstances. It didn't seem like it would be straightforward to make `destructure_const` handle this case in a first-class-feeling way (e.g. adding a `Variants::None` variant), so this PR makes some minimal changes to avoid ICEs.
Unify region variables when projecting associated types This is required to avoid cycles when evaluating auto trait predicates. Notably, this is required to be able add Chalk types to `CtxtInterners` for `cfg(parallel_compiler)`. r? @nikomatsakis
Use alloc::Layout in DroplessArena API
…ckler Update the doc for std::prelude to the correct behavior Fixes rust-lang#64686. One line change to ensure the docs are correct about the behavior of the compiler when inserting`std::prelude::v1`. I don't think examples are necessary but I can add some (especially those from the original issue) if needed.
Bump Rustfmt and RLS Fixes rust-lang#73406 Fixes rust-lang#73199 Fixes rust-lang#73407 Fixes rust-lang#73200 cc @calebcartwright @topecongiro r? @ghost Let's see what CI says first
@bors r+ p=10 rollup=never |
📌 Commit 3e40cca has been approved by |
@bors treeclosed=9 I plan to open another rollup after this, will cancel this before I disappear, but if not feel free to cancel if an hour has passed |
☀️ Test successful - checks-azure |
📣 Toolstate changed by #73528! Tested on commit 033013c. 🎉 rls on windows: build-fail → test-pass (cc @Xanewok). |
Tested on commit rust-lang/rust@033013c. Direct link to PR: <rust-lang/rust#73528> 🎉 rls on windows: build-fail → test-pass (cc @Xanewok). 🎉 rls on linux: build-fail → test-pass (cc @Xanewok). 🎉 rustfmt on windows: build-fail → test-pass (cc @topecongiro). 🎉 rustfmt on linux: build-fail → test-pass (cc @topecongiro).
Onto the next batch! |
One of these PRs resulted in a win on the |
Successful merges:
try_find
a little #71899 (Refactortry_find
a little)need_type_info_err
more conservative #73027 (Makeneed_type_info_err
more conservative)Call
terminators callingSelf
#73359 (shim.rs: avoid creatingCall
terminators callingSelf
)Failed merges:
r? @ghost