-
Notifications
You must be signed in to change notification settings - Fork 13.2k
New issue
Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? # to your account
Rollup of 8 pull requests #93245
Merged
Merged
Rollup of 8 pull requests #93245
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
It now panic!()s on its own, rather than resume_unwind'ing the panic payload from the thread. Using resume_unwind skips the panic_handler, meaning that the main thread would never have a panic handler run, which can get confusing.
Co-authored-by: Jacob Lifshay <programmerjake@gmail.com>
Co-authored-by: Mattias Buelens <649348+MattiasBuelens@users.noreply.github.com>
Co-authored-by: deltragon <m@dafert.at>
Co-authored-by: Amanieu d'Antras <amanieu@gmail.com>
Use consistent function parameter order for early context construction and early linting Rename some functions to make it clear that they do not necessarily work on the whole crate
Add a trait generalizing over the crate root and freshly loaded modules instead This also makes node IDs used for pre-expansion linting more precise
rustc_lint: Some early linting refactorings The first one removes and renames some fields and methods from `EarlyContext`. The second one uses the set of registered tools (for tool attributes and tool lints) in a more centralized way. The third one removes creation of a fake `ast::Crate` from `fn pre_expansion_lint`. Pre-expansion linting is done with per-module granularity on freshly loaded modules, and it previously synthesized an `ast::Crate` to visit non-root modules, now they are visited as modules. The node ID used for pre-expansion linting is also made more precise (the loaded module ID is used).
Implement RFC 3151: Scoped threads. This implements rust-lang/rfcs#3151 r? `@Amanieu`
…hewjasper Fix `let_chains` and `if_let_guard` feature flags Fixes rust-lang#93150 cc rust-lang#53667
Add preliminary support for inline assembly for msp430. The `llvm_asm` macro was removed recently, and the MSP430 backend relies on inline assembly to build useful embedded apps. I conveniently "found" time to implement basic support for the new inline `asm` macro syntax with the help of `@Amanieu` :D. In addition to tests in the compiler, I have tested this locally against deployed MSP430 code and have not found any noticeable differences in firmware operation or `objdump` disassemblies between the old `llvm_asm` and the new `asm` syntax.
…h726 Normalize field access types during borrowck I think a normalize was just left out here, since we normalize analogously throughout this file. Fixes rust-lang#93141
…=jackh726 Liberate late bound regions when collecting GAT substs in wfcheck The issue here is that the [`GATSubstCollector`](https://github.com/rust-lang/rust/blob/master/compiler/rustc_typeck/src/check/wfcheck.rs#L604) does not currently do anything wrt `Binder`s, so the GAT substs it copies out have escaping late bound regions when it walks through types like `for<'x> fn() -> Self::Gat<'x>`. I made that visitor call `liberate_late_bound_regions`, not sure if that's the right thing here or we need to do something else to replace these bound vars with placeholders. I'm not familiar with other code doing anything similar.. But the issue is indeed no longer ICEing. Fixes rust-lang#92954 r? `@jackh726` since you last touched this code, feel free to reassign
Remove DiagnosticBuilder.quiet r? `@eddyb` cc rust-lang#69426 `@GuillaumeGomez` `@Manishearth`
…, r=jackh726 rustc_mir_itertools: Avoid needless `collect` with itertools I don't think this should have measurable perf impact (at least not on perf.rlo benchmarks), it's mostly for readability.
@bors r+ rollup=never p=8 |
📌 Commit eea833f has been approved by |
☀️ Test successful - checks-actions |
This was referenced Jan 24, 2022
Merged
Finished benchmarking commit (42313dd): comparison url. Summary: This benchmark run did not return any relevant changes. If you disagree with this performance assessment, please file an issue in rust-lang/rustc-perf. @rustbot label: -perf-regression |
# for free
to join this conversation on GitHub.
Already have an account?
# to comment
Labels
merged-by-bors
This PR was explicitly merged by bors.
rollup
A PR which is a rollup
S-waiting-on-bors
Status: Waiting on bors to run and complete tests. Bors will change the label on completion.
T-compiler
Relevant to the compiler team, which will review and decide on the PR/issue.
T-rustdoc
Relevant to the rustdoc team, which will review and decide on the PR/issue.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Successful merges:
let_chains
andif_let_guard
feature flags #93213 (Fixlet_chains
andif_let_guard
feature flags)collect
with itertools #93234 (rustc_mir_itertools: Avoid needlesscollect
with itertools)Failed merges:
r? @ghost
@rustbot modify labels: rollup
Create a similar rollup