-
Notifications
You must be signed in to change notification settings - Fork 12.7k
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 8 pull requests #93245
Rollup of 8 pull requests #93245
Conversation
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 <[email protected]>
Co-authored-by: Mattias Buelens <[email protected]>
Co-authored-by: deltragon <[email protected]>
Co-authored-by: Amanieu d'Antras <[email protected]>
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 |
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 |
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