-
-
Notifications
You must be signed in to change notification settings - Fork 14.4k
Rollup of 9 pull requests #151614
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
Closed
Closed
Rollup of 9 pull requests #151614
Conversation
This file contains hidden or 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
… duration under Win7 Fixes rust-lang#149935. See the added comment for more details. Signed-off-by: Paul Mabileau <paul.mabileau@harfanglab.fr>
The links are correct, but text typoed `as_array_mut`.
This fixes stage1 builds when the proc-macro bridge api changed. The rustc_proc_macro crate is identical to the proc_macro that would end up in the sysroot of the rustc compiler rustc_proc_macro is linked into.
They break whenever the proc macro ABI changes due to it building a proc macro against the bootstrap sysroot.
It is a singleton which doesn't actually need to be passed through over the bridge.
And rename FreeFunctions struct to Methods.
…ulacrum Add codegen test for removing trailing zeroes from `NonZero` Closes rust-lang#138497
std: avoid tearing `dbg!` prints Fixes rust-lang#136703. This is an alternative to rust-lang#149859. Instead of formatting everything into a string, this PR makes multi-expression `dbg!` expand into multiple nested matches, with the final match containing a single `eprint!`. By using macro recursion and relying on hygiene, this allows naming every bound value in that `eprint!`. CC @orlp r? libs
…, r=Mark-Simulacrum add CSE optimization tests for iterating over slice This PR is regression test for issue rust-lang#119573. This PR introduces a new regression test to verify a critical optimization known as Common Subexpression Elimination (CSE) is correctly applied during various slice iteration patterns.
…gross35 Move std_detect tests into a separate crate Same rationale as rust-lang#136642.
…r=Mark-Simulacrum Fix(lib/win/thread): Ensure `Sleep`'s usage passes over the requested duration under Win7 Fixes rust-lang#149935. See the added comment for more details. This makes the concerned test now reproducibly pass, for us at least. Also, testing this separately revealed successful: see the issue. @rustbot label C-bug I-flaky-test O-windows-7 T-libs A-time A-thread
…ulacrum Refine dummy_span.rs test The test that is introduced in rust-lang#128627 is a BBs order problem in LLVM. I'm not 100% confident in the following investigation, but I think this is presumably the result. Per the following content that is mentioned at https://llvm.org/docs/KeyInstructionsDebugInfo.html: > DWARF provides a helpful tool the compiler can employ to mitigate this jumpiness, the `is_stmt` flag, which indicates that an instruction is a recommended breakpoint location. However, LLVM’s current approach to deciding `is_stmt` placement essentially reduces down to “is the associated line number different to the previous instruction’s?”. Taking the example from https://rust.godbolt.org/z/GvToxj6vh. The partial assembly code with `SimplifyComparisonIntegral` is: ```asm .LBB40_21: .loc 6 14 16 is_stmt 1 ; RET = Ok(()) mov byte ptr [rsp + 79], 5 .loc 6 0 0 is_stmt 0 jmp .LBB40_23 ... .LBB40_23: .loc 6 18 1 is_stmt 1 lea rdi, [rsp + 112] ; drop(number_str) call qword ptr [rip + core[270d1373c8f6a07d]::ptr::drop_in_place::<alloc[206d51544a00c3e8]::string::String>@GOTPCREL] jmp .LBB40_27 ``` without `SimplifyComparisonIntegral`: ```asm .LBB40_22: .loc 6 14 16 is_stmt 1 ; RET = Ok(()) mov byte ptr [rsp + 79], 5 .loc 6 0 0 is_stmt 0 jmp .LBB40_27 ... .LBB40_26: .loc 6 18 2 is_stmt 0 mov al, byte ptr [rsp + 79] .loc 6 18 2 epilogue_begin add rsp, 360 .cfi_def_cfa_offset 8 ret .LBB40_27: ; same line number to the previous instruction, so don't place `is_stmt` flag. ; this flag is `is_stmt 0` that will follow the flag of `.LBB40_26`. .loc 6 18 1 lea rdi, [rsp + 112] ; drop(number_str) call qword ptr [rip + core[270d1373c8f6a07d]::ptr::drop_in_place::<alloc[206d51544a00c3e8]::string::String>@GOTPCREL] jmp .LBB40_26 ``` GDB doesn't step to `LBB40_27` due to `is_stmt 0`, so the next step is `__rust_begin_short_backtrace`. I have verified the new test works well with or without ``SimplifyComparisonIntegral`.
…rochenkov,Kobzol Various refactors to the proc_macro bridge This reduces the amount of types, traits and other abstractions that are involved with the bridge, which should make it easier to understand and modify. This should also help a bit with getting rid of the type marking hack, which is complicating the code a fair bit. Fixes: rust-lang#139810
…ark-Simulacrum relnotes: fix 1.93's `as_mut_array` methods The links are correct, but text typoed `as_array_mut`.
Rename `DepKindStruct` to `DepKindVTable` This type is used by dependency-tracking code in the query system, for looking up function pointers and other metadata associated with a particular `DepKind`. Calling it “struct” is not particularly helpful, whereas calling it a “vtable” at least gives some basic intuition for what it is and how it is used. Some associated identifiers have also drifted a bit over time, and this PR adjusts those as well. There should be no change to compiler behaviour. r? nnethercote (or compiler)
Member
Author
|
@bors r+ rollup=never p=5 |
Contributor
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Labels
A-query-system
Area: The rustc query system (https://rustc-dev-guide.rust-lang.org/query.html)
A-testsuite
Area: The testsuite used to check the correctness of rustc
A-tidy
Area: The tidy tool
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-bootstrap
Relevant to the bootstrap subteam: Rust's build system (x.py and src/bootstrap)
T-clippy
Relevant to the Clippy team.
T-compiler
Relevant to the compiler team, which will review and decide on the PR/issue.
T-libs
Relevant to the library team, which will review and decide on the PR/issue.
T-release
Relevant to the release subteam, which will review and decide on the PR/issue.
T-rust-analyzer
Relevant to the rust-analyzer 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:
NonZero#145393 (Add codegen test for removing trailing zeroes fromNonZero)dbg!prints #149869 (std: avoid tearingdbg!prints)Sleep's usage passes over the requested duration under Win7 #150842 (Fix(lib/win/thread): EnsureSleep's usage passes over the requested duration under Win7)as_mut_arraymethods #151560 (relnotes: fix 1.93'sas_mut_arraymethods)DepKindStructtoDepKindVTable#151577 (RenameDepKindStructtoDepKindVTable)r? @ghost
Create a similar rollup