-
Notifications
You must be signed in to change notification settings - Fork 13.3k
Rollup of 6 pull requests #65885
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 6 pull requests #65885
Conversation
This is done by moving some data definitions to syntax::expand.
Apply review suggestions Apply review suggestions
Co-authored-by: Steve Klabnik <steve@steveklabnik.com>
Returns a `&core::panic::Location` corresponding to where it was called, also making `Location` a lang item.
This allows us to remove `static_panic_msg` from the SSA<->LLVM boundary, along with its fat pointer representation for &str. Also changes the signature of PanicInfo::internal_contructor to avoid copying. Closes rust-lang#65856.
I took most tests that were testing only for match exhaustiveness, pattern refutability or match arm reachability, and put them in the same test folder.
Stabilize `Option::flatten` - PR: rust-lang#60256 - Tracking issue: rust-lang#60258 @elahn > I was trying to `flat_map()` and found `map().flatten()` does the trick. This has been on nightly for 4 months, can we stabilise it? @ethanboxx > @Centril Helped me get this merged. What is the stabilization process? @Centril > @ethanboxx I'd just file a PR to stabilize it and we'll ask T-libs to FCP. So here I am. I am was unsure what number to put in `since = "-"` so I copied what someone had done in a recent PR.
`std::panic::Location` is a lang_item, add `core::intrinsics::caller_location` (RFC 2091 3/N) [Tracking issue](rust-lang#47809) [RFC text](https://github.com/rust-lang/rfcs/blob/master/text/2091-inline-semantic.md) @eddyb suggested doing this intrinsic implementation ahead of actually implementing the `#[track_caller]` attribute so that there's an easily tested intermediate step between adding the shim and wiring up the attribute.
rustc, rustc_passes: reduce deps on rustc_expand Part of rust-lang#65324. r? @petrochenkov
…etrochenkov librustc_lexer: Enhance documentation This PR enhances documentation state of the `librustc_lexer` (as initiative caused by [rustc-guide#474](rust-lang/rustc-dev-guide#474)), by adding: - Module documentation. - Doc-comments (and a bit of usual comments) in non-obvious (as for me) places. r? @petrochenkov cc @Centril
…ruppe doc: explain why it is unsafe to construct Vec<u8> from Vec<u16>
…r=varkor Gather together usefulness tests I took most tests that were testing only for match exhaustiveness, pattern refutability or match arm reachability, and put them in the same test folder. I found it helpful to have them all in the same place when working on the usefulness algorithm.
@bors r+ p=6 rollup=never |
📌 Commit 606743e has been approved by |
@bors retry |
Rollup of 6 pull requests Successful merges: - #64747 (Stabilize `Option::flatten`) - #65664 (`std::panic::Location` is a lang_item, add `core::intrinsics::caller_location` (RFC 2091 3/N)) - #65792 (rustc, rustc_passes: reduce deps on rustc_expand) - #65849 (librustc_lexer: Enhance documentation) - #65873 (doc: explain why it is unsafe to construct Vec<u8> from Vec<u16>) - #65880 (Gather together usefulness tests) Failed merges: r? @ghost
☀️ Test successful - checks-azure |
📣 Toolstate changed by #65885! Tested on commit 9285d40. 💔 clippy-driver on windows: test-pass → build-fail (cc @mcarton @oli-obk @Manishearth @flip1995 @yaahc @phansch @llogiq, @rust-lang/infra). |
Tested on commit rust-lang/rust@9285d40. Direct link to PR: <rust-lang/rust#65885> 💔 clippy-driver on windows: test-pass → build-fail (cc @mcarton @oli-obk @Manishearth @flip1995 @yaahc @phansch @llogiq, @rust-lang/infra). 💔 clippy-driver on linux: test-pass → build-fail (cc @mcarton @oli-obk @Manishearth @flip1995 @yaahc @phansch @llogiq, @rust-lang/infra). 💔 miri on windows: test-pass → build-fail (cc @oli-obk @eddyb @RalfJung, @rust-lang/infra). 💔 miri on linux: test-pass → build-fail (cc @oli-obk @eddyb @RalfJung, @rust-lang/infra). 🎉 rls on windows: build-fail → test-pass (cc @Xanewok, @rust-lang/infra). 🎉 rls on linux: build-fail → test-pass (cc @Xanewok, @rust-lang/infra).
This caused gigantic compile-time regressions for incremental debug and opt builds, of 100s and 1000s of percent. I suspect #65664 or #65792 is the cause. The other changes are all small. @anp, @Centril: any thoughts? cc @rust-lang/wg-compiler-performance |
Note that a bunch of codegen queries (e.g. |
#65792 seems unlikely as it is just moving some stuff, not actually changing the implementation. |
Just from the title #65664 looks like it could introduce a dependency of machine code or MIR to span information, which is always bad news for incremental compilation. |
It's #65664, see #65664 (comment) for more details. |
Successful merges:
Option::flatten
#64747 (StabilizeOption::flatten
)std::panic::Location
is a lang_item, addcore::intrinsics::caller_location
(RFC 2091 3/N) #65664 (std::panic::Location
is a lang_item, addcore::intrinsics::caller_location
(RFC 2091 3/N))Failed merges:
r? @ghost