Skip to content

Conversation

workingjubilee
Copy link
Member

Successful merges:

r? @ghost
@rustbot modify labels: rollup

Create a similar rollup

clubby789 and others added 30 commits February 2, 2025 22:02
Co-authored-by: Ookiineko <chiisaineko@protonmail.com> Co-authored-by: nora <48135649+Noratrieb@users.noreply.github.com> Co-authored-by: Jubilee <workingjubilee@gmail.com>
Signed-off-by: Shunpoco <tkngsnsk313320@gmail.com>
Signed-off-by: onur-ozkan <work@onurozkan.dev>
Signed-off-by: onur-ozkan <work@onurozkan.dev>
DWARF 1 is very different than DWARF 2+ (see the commentary in https://gcc.gnu.org/onlinedocs/gcc/Debugging-Options.html#index-gdwarf) and LLVM does not really seem to support DWARF 1 as Clang does not offer a `-gdwarf-1` flag and `llc` will just generate DWARF 2 with the version set to 1: https://godbolt.org/z/s85d87n3a. Since this isn't actually supported (and it's not clear it would be useful anyway), report that DWARF 1 is not supported if it is requested. Also add a help message to the error saying which versions are supported.
Because the neutral element of `<fNN as iter::Sum>` was changed to `neg_zero`, the documentation needed to be updated, as it was reporting inadequate information about what should be expected from the return. Co-authored-by: Jubilee <workingjubilee@gmail.com>
…=chenyukang Add cygwin target. r? compiler-team This PR simply adds cygwin target together with msys2 target, based on `@ookiineko` 's (the account has been deleted) [work](https://github.com/ookiineko-cygport/rust) on cygwin target. My full work is here: rust-lang/rust@master...Berrysoft:rust:dev/cygwin I have succeeded in building a new rustc for cygwin target, and eventually distributed a new version of [fish-shell](https://github.com/Berrysoft/fish-shell/releases) (rewritten by Rust) for MSYS2. I will open a new PR to fix std if this PR is accepted.
Make `-O` mean `OptLevel::Aggressive` Implementation of this MCP: rust-lang/compiler-team#828, changing the meaning of `-O` from `-Copt-level=2` to `-Copt-level=3`. This also renames `OptLevel::Default` to `OptLevel::More`, as `Default` no longer makes sense.
…mutability-cap-violated, r=Nadrieril Add a comment pointing to ICE-136223 Fixes rust-lang#136223 ## Steps how the ICE happen This explanation is based on the test case `&Some(Some(x)) = &Some(&mut Some(0))`. The case should fail with E0596 error, but it catches the debug assertion instead. 1. For the first `&`: In check_pat_ref(), the value max_ref_mutbl becomes MutblCap::Not ([here](https://github.com/rust-lang/rust/blob/fdd1a3b02687817cea41f6bacae3d5fbed2b2cd0/compiler/rustc_hir_typeck/src/pat.rs#L2394-L2396)). Once max_ref_mutbl becomes Not, it will never be back to MutblCap::Mut. 2. For `&mut`: In peel_off_references(), because Some(x) doesn't have `&` nor `&mut`, `&mut` in `&mut Some(0)` is not consumed then default_binding_mode (def_br) becomes `ByRef::Yes(Mutability::Mut)` (around [here](https://github.com/rust-lang/rust/blob/fdd1a3b02687817cea41f6bacae3d5fbed2b2cd0/compiler/rustc_hir_typeck/src/pat.rs#L519-L536)). This will be inherited to the next step. So this pattern has the mismatch between `def_br=Yes(Mut)` and `max_ref_mutbl=Not` now. 3. For the value `0`: Because of the step 2, the default_binding_mode is `Yes(Mut)`, but max_ref_mutbl is `Not` from the step 1. It causes the assertion error [here](https://github.com/rust-lang/rust/blob/fdd1a3b02687817cea41f6bacae3d5fbed2b2cd0/compiler/rustc_hir_typeck/src/pat.rs#L427-L430). ## What this PR fixes Step 1 has happened from [this commit](rust-lang@e2f3ce9) by deleting `no_ref_mut_behind_and` from the if block. In my understanding, after RFC3627 is released, step 1 should happen not only 2024 edition but also other editions to track MutblCap value. But for now, it should not happen for non-2024 edition. So I put it back. NOTE: I think there is another solution - We should return an E0596 error in calc_default_binding_mode() instead of the debug assertion. Since the assertion is caused by the mismatch between `def_br = Yes(Mut)` and `max_ref_mutbl = Not`, but in my understanding this violation is the same as E0596. check_pat_ident() does returns E0596 by a similar reason [here](https://github.com/rust-lang/rust/blob/fdd1a3b02687817cea41f6bacae3d5fbed2b2cd0/compiler/rustc_hir_typeck/src/pat.rs#L837-L856).
resolve `llvm-config` path properly on cross builds Fixes rust-lang#132926
Clean up `HashMap` and `HashSet` docs. This commit makes some small, pedantic changes to the docs for `HashMap` and `HashSet`, which fixes that: * "HashMap" is not always formatted as code (as in `HashMap`), and that * `HashSet` sometimes references `HashMap` instead of itself.
…notriddle Update minifier version to `0.3.4` It fixes a bug where a whitespace would get removed in `a [attribute]` (you're not forced to add a tag before an attribute selector). r? `@notriddle`
…-updates, r=compiler-errors compiler: mostly-finish `rustc_abi` updates This almost-finishes all the updates in the compiler to use `rustc_abi` and removes some of the reexports of `rustc_abi` items in `rustc_target` that were previously available. r? `@compiler-errors`
…=workingjubilee Document `Sum::sum` returns additive identities for `[]` Because the neutral element of `<fNN as iter::Sum>` was changed to `neg_zero`, the documentation needed to be updated, as it was reporting inadequate information about what should be expected from the return. Relevant Commit: rust-lang@4908188 Relevant Pull Request: rust-lang#129321 --- The referenced commit causes unintended side effects on presentation layer applications like using Tera templates, for example. I'm not sure what the motivation was behind the original change, but it seems like more discussion should be put into this issue and potentially have that change reverted.
…r=compiler-errors Make `AsyncFnOnce`, `AsyncFnMut`, `AsyncFn` non-`#[fundamental]` Address the issue rust-lang#136723 on nightly (the issue will only *actually* be fixed with a beta backport).
…, r=workingjubilee Have a break from review rotation Be busy on the job recently.
transmutability: fix ICE when passing wrong ADT to ASSUME - Remove an incorrect assert that the `ASSUME` parameter has the type `Assume` and delay a bug instead. - Since we checked the type of `ASSUME` is `Assume` (an ADT), its valtree must be a branch, so we can just unwrap it. r? `@jswrenn`
…ieyouxu Small resolve refactor I was looking into how resolve works in order to find a good way for clippy to shorten paths in messages and suggestions, and found a needless `.collect()` and a recursive function that could be written as a loop, also removed a panicky code path.
Emit an error if `-Zdwarf-version=1` is requested DWARF 1 is very different than DWARF 2+[^1] and LLVM does not really seem to support DWARF 1 as Clang does not offer a `-gdwarf-1` flag[^2] and `llc` will just generate DWARF 2 with the version set to 1[^3]. Since this isn't actually supported (and it's not clear it would be useful anyway), report that DWARF 1 is not supported if it is requested. Also add a help message to the error saying which versions are supported. cc rust-lang#103057 [^1]: https://gcc.gnu.org/onlinedocs/gcc/Debugging-Options.html#index-gdwarf [^2]: https://clang.llvm.org/docs/ClangCommandLineReference.html#cmdoption-clang-gdwarf [^3]: https://godbolt.org/z/s85d87n3a
@rustbot rustbot added A-attributes Area: Attributes (`#[…]`, `#![…]`) A-meta Area: Issues & PRs about the rust-lang/rust repository itself A-run-make Area: port run-make Makefiles to rmake.rs S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. T-bootstrap Relevant to the bootstrap subteam: Rust's build system (x.py and src/bootstrap) 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-rustdoc Relevant to the rustdoc team, which will review and decide on the PR/issue. rollup A PR which is a rollup labels Feb 8, 2025
@workingjubilee
Copy link
Member Author

@bors r+ rollup=never p=5

@bors
Copy link
Collaborator

bors commented Feb 8, 2025

📌 Commit 9d443d8 has been approved by workingjubilee

It is now in the queue for this repository.

@bors bors added S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. and removed S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. labels Feb 8, 2025
@bors
Copy link
Collaborator

bors commented Feb 8, 2025

⌛ Testing commit 9d443d8 with merge 7c429b9...

bors added a commit to rust-lang-ci/rust that referenced this pull request Feb 8, 2025
…kingjubilee Rollup of 13 pull requests Successful merges: - rust-lang#134999 (Add cygwin target.) - rust-lang#135439 (Make `-O` mean `OptLevel::Aggressive`) - rust-lang#136397 (Add a comment pointing to ICE-136223) - rust-lang#136681 (resolve `llvm-config` path properly on cross builds) - rust-lang#136686 (Clean up `HashMap` and `HashSet` docs.) - rust-lang#136694 (Update minifier version to `0.3.4`) - rust-lang#136706 (compiler: mostly-finish `rustc_abi` updates) - rust-lang#136710 (Document `Sum::sum` returns additive identities for `[]`) - rust-lang#136724 (Make `AsyncFnOnce`, `AsyncFnMut`, `AsyncFn` non-`#[fundamental]`) - rust-lang#136727 (Have a break from review rotation) - rust-lang#136730 (transmutability: fix ICE when passing wrong ADT to ASSUME) - rust-lang#136736 (Small resolve refactor) - rust-lang#136746 (Emit an error if `-Zdwarf-version=1` is requested) r? `@ghost` `@rustbot` modify labels: rollup
@rust-log-analyzer
Copy link
Collaborator

The job dist-i586-gnu-i586-i686-musl failed! Check out the build log: (web) (plain)

Click to see the possible cause of the failure (guessed by this bot)
failures: ---- [assembly] tests/assembly/x86-return-float.rs#normal stdout ---- error in revision `normal`: verification with 'FileCheck' failed status: exit status: 1 command: "/checkout/obj/build/x86_64-unknown-linux-gnu/llvm/build/bin/FileCheck" "--input-file" "/checkout/obj/build/x86_64-unknown-linux-gnu/test/assembly/x86-return-float.normal/x86-return-float.s" "/checkout/tests/assembly/x86-return-float.rs" "--check-prefix=CHECK" "--check-prefix" "normal" "--allow-unused-prefixes" "--dump-input-context" "100" "--implicit-check-not" "fld" "--implicit-check-not" "fst" --- stderr ------------------------------- /checkout/tests/assembly/x86-return-float.rs:178:12: error: CHECK: expected string not found in input /checkout/tests/assembly/x86-return-float.rs:178:12: error: CHECK: expected string not found in input // CHECK: movss [[#%d,OFFSET:]](%ebp), %[[VAL1:.*]] ^ /checkout/obj/build/x86_64-unknown-linux-gnu/test/assembly/x86-return-float.normal/x86-return-float.s:321:19: note: scanning from here calll get_f32_f32@PLT ^ /checkout/obj/build/x86_64-unknown-linux-gnu/test/assembly/x86-return-float.normal/x86-return-float.s:323:2: note: possible intended match here movsd -16(%ebp), %xmm0 /checkout/tests/assembly/x86-return-float.rs:193:13: error: normal: expected string not found in input /checkout/tests/assembly/x86-return-float.rs:193:13: error: normal: expected string not found in input // normal: movsd [[#%d,OFFSET:]](%ebp), %[[VAL1:.*]] ^ /checkout/obj/build/x86_64-unknown-linux-gnu/test/assembly/x86-return-float.normal/x86-return-float.s:359:19: note: scanning from here calll get_f64_f64@PLT ^ /checkout/obj/build/x86_64-unknown-linux-gnu/test/assembly/x86-return-float.normal/x86-return-float.s:361:2: note: possible intended match here movaps -24(%ebp), %xmm0 Input file: /checkout/obj/build/x86_64-unknown-linux-gnu/test/assembly/x86-return-float.normal/x86-return-float.s -dump-input=help explains the following input dump. Input was: <<<<<< . . . . 221: .cfi_def_cfa %esp, 4 222: retl $4 223: .Lfunc_end9: 224: .size return_other_f64, .Lfunc_end9-return_other_f64 225: .cfi_endproc 226: 227: .section .text.call_f32,"ax",@progbits 228: .globl call_f32 229: .p2align 4, 0x90 230: .type call_f32,@function 231: call_f32: 232: .cfi_startproc 233: pushl %ebp 234: .cfi_def_cfa_offset 8 235: .cfi_offset %ebp, -8 236: movl %esp, %ebp 237: .cfi_def_cfa_register %ebp 238: pushl %ebx 239: pushl %esi 240: .cfi_offset %esi, -16 241: .cfi_offset %ebx, -12 242: movl 8(%ebp), %esi 243: calll .L10$pb 244: .L10$pb: 245: popl %ebx 246: .Ltmp0: 247: addl $_GLOBAL_OFFSET_TABLE_+(.Ltmp0-.L10$pb), %ebx 248: calll get_f32@PLT 249: movl %eax, (%esi) 250: popl %esi 251: popl %ebx 252: popl %ebp 253: .cfi_def_cfa %esp, 4 254: retl 255: .Lfunc_end10: 256: .size call_f32, .Lfunc_end10-call_f32 257: .cfi_endproc 258: 259: .section .text.call_f64,"ax",@progbits 260: .globl call_f64 261: .p2align 4, 0x90 262: .type call_f64,@function 263: call_f64: 264: .cfi_startproc 265: pushl %ebp 266: .cfi_def_cfa_offset 8 267: .cfi_offset %ebp, -8 268: movl %esp, %ebp 269: .cfi_def_cfa_register %ebp 270: pushl %ebx 271: pushl %esi 272: subl $16, %esp 273: .cfi_offset %esi, -16 274: .cfi_offset %ebx, -12 275: movl 8(%ebp), %esi 276: calll .L11$pb 277: .L11$pb: 278: popl %ebx 279: leal -16(%ebp), %eax 280: .Ltmp1: 281: addl $_GLOBAL_OFFSET_TABLE_+(.Ltmp1-.L11$pb), %ebx 282: movl %eax, (%esp) 283: calll get_f64@PLT 284: subl $4, %esp 285: movsd -16(%ebp), %xmm0 286: movsd %xmm0, (%esi) 287: addl $16, %esp 288: popl %esi 289: popl %ebx 290: popl %ebp 291: .cfi_def_cfa %esp, 4 292: retl 293: .Lfunc_end11: 294: .size call_f64, .Lfunc_end11-call_f64 295: .cfi_endproc 296: 297: .section .text.call_f32_f32,"ax",@progbits 298: .globl call_f32_f32 299: .p2align 4, 0x90 300: .type call_f32_f32,@function 301: call_f32_f32: 302: .cfi_startproc 303: pushl %ebp 304: .cfi_def_cfa_offset 8 305: .cfi_offset %ebp, -8 306: movl %esp, %ebp 307: .cfi_def_cfa_register %ebp 308: pushl %ebx 309: pushl %esi 310: subl $16, %esp 311: .cfi_offset %esi, -16 312: .cfi_offset %ebx, -12 313: movl 8(%ebp), %esi 314: calll .L12$pb 315: .L12$pb: 316: popl %ebx 317: leal -16(%ebp), %eax 318: .Ltmp2: 319: addl $_GLOBAL_OFFSET_TABLE_+(.Ltmp2-.L12$pb), %ebx 320: movl %eax, (%esp) 321: calll get_f32_f32@PLT check:178'0 X~~~~ error: no match found 322: subl $4, %esp check:178'0 ~~~~~~~~~~~~~~~ 323: movsd -16(%ebp), %xmm0 check:178'0 ~~~~~~~~~~~~~~~~~~~~~~~~ check:178'1 ? possible intended match 324: movsd %xmm0, (%esi) check:178'0 ~~~~~~~~~~~~~~~~~~~~~ 325: addl $16, %esp check:178'0 ~~~~~~~~~~~~~~~~ 326: popl %esi check:178'0 ~~~~~~~~~~~ 327: popl %ebx check:178'0 ~~~~~~~~~~~ 328: popl %ebp check:178'0 ~~~~~~~~~~~ 329: .cfi_def_cfa %esp, 4 check:178'0 ~~~~~~~~~~~~~~~~~~~~~~ 330: retl check:178'0 ~~~~~~ 331: .Lfunc_end12: check:178'0 ~~~~~~~~~~~~~~ 332: .size call_f32_f32, .Lfunc_end12-call_f32_f32 check:178'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 333: .cfi_endproc check:178'0 ~~~~~~~~~~~~~~ check:178'0 ~ check:178'0 ~ 335: .section .text.call_f64_f64,"ax",@progbits check:178'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 336: .globl call_f64_f64 check:178'0 ~~~~~~~~~~~~~~~~~~~~~ 337: .p2align 4, 0x90 check:178'0 ~~~~~~~~~~~~~~~~~~ 338: .type call_f64_f64,@function check:178'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 339: call_f64_f64: check:178'0 ~~~~~~~~~~~~~ 340: .cfi_startproc 341: pushl %ebp 342: .cfi_def_cfa_offset 8 343: .cfi_offset %ebp, -8 344: movl %esp, %ebp 345: .cfi_def_cfa_register %ebp 346: pushl %ebx 347: pushl %esi 348: subl $32, %esp 349: .cfi_offset %esi, -16 350: .cfi_offset %ebx, -12 351: movl 8(%ebp), %esi 352: calll .L13$pb 353: .L13$pb: 354: popl %ebx 355: leal -24(%ebp), %eax 356: .Ltmp3: 357: addl $_GLOBAL_OFFSET_TABLE_+(.Ltmp3-.L13$pb), %ebx 358: movl %eax, (%esp) 359: calll get_f64_f64@PLT check:193'0 X~~~~ error: no match found 360: subl $4, %esp check:193'0 ~~~~~~~~~~~~~~~ 361: movaps -24(%ebp), %xmm0 check:193'0 ~~~~~~~~~~~~~~~~~~~~~~~~~ check:193'1 ? possible intended match 362: movups %xmm0, (%esi) check:193'0 ~~~~~~~~~~~~~~~~~~~~~~ 363: addl $32, %esp check:193'0 ~~~~~~~~~~~~~~~~ 364: popl %esi check:193'0 ~~~~~~~~~~~ 365: popl %ebx check:193'0 ~~~~~~~~~~~ 366: popl %ebp check:193'0 ~~~~~~~~~~~ 367: .cfi_def_cfa %esp, 4 check:193'0 ~~~~~~~~~~~~~~~~~~~~~~ 368: retl check:193'0 ~~~~~~ 369: .Lfunc_end13: check:193'0 ~~~~~~~~~~~~~~ 370: .size call_f64_f64, .Lfunc_end13-call_f64_f64 check:193'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 371: .cfi_endproc check:193'0 ~~~~~~~~~~~~~~ check:193'0 ~ check:193'0 ~ 373: .section .text.call_f32_f64,"ax",@progbits check:193'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 374: .globl call_f32_f64 check:193'0 ~~~~~~~~~~~~~~~~~~~~~ 375: .p2align 4, 0x90 check:193'0 ~~~~~~~~~~~~~~~~~~ 376: .type call_f32_f64,@function check:193'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 377: call_f32_f64: check:193'0 ~~~~~~~~~~~~~ 378: .cfi_startproc 379: pushl %ebp 380: .cfi_def_cfa_offset 8 381: .cfi_offset %ebp, -8 382: movl %esp, %ebp 383: .cfi_def_cfa_register %ebp 384: pushl %ebx 385: pushl %esi 386: subl $16, %esp 387: .cfi_offset %esi, -16 388: .cfi_offset %ebx, -12 389: movl 8(%ebp), %esi 390: calll .L14$pb 391: .L14$pb: 392: popl %ebx 393: leal -20(%ebp), %eax 394: .Ltmp4: 395: addl $_GLOBAL_OFFSET_TABLE_+(.Ltmp4-.L14$pb), %ebx 396: movl %eax, (%esp) 397: calll get_f32_f64@PLT 398: subl $4, %esp 399: movss -20(%ebp), %xmm0 400: movsd -16(%ebp), %xmm1 401: movss %xmm0, (%esi) 402: movsd %xmm1, 4(%esi) 403: addl $16, %esp 404: popl %esi 405: popl %ebx 406: popl %ebp 407: .cfi_def_cfa %esp, 4 408: retl 409: .Lfunc_end14: 410: .size call_f32_f64, .Lfunc_end14-call_f32_f64 411: .cfi_endproc 412: 413: .section .text.call_f64_f32,"ax",@progbits 414: .globl call_f64_f32 415: .p2align 4, 0x90 416: .type call_f64_f32,@function 417: call_f64_f32: 418: .cfi_startproc 419: pushl %ebp 420: .cfi_def_cfa_offset 8 421: .cfi_offset %ebp, -8 422: movl %esp, %ebp 423: .cfi_def_cfa_register %ebp 424: pushl %ebx 425: pushl %esi 426: subl $32, %esp 427: .cfi_offset %esi, -16 428: .cfi_offset %ebx, -12 429: movl 8(%ebp), %esi 430: calll .L15$pb 431: .L15$pb: 432: popl %ebx 433: leal -24(%ebp), %eax 434: .Ltmp5: 435: addl $_GLOBAL_OFFSET_TABLE_+(.Ltmp5-.L15$pb), %ebx 436: movl %eax, (%esp) 437: calll get_f64_f32@PLT 438: subl $4, %esp 439: movsd -24(%ebp), %xmm0 440: movss -16(%ebp), %xmm1 441: movsd %xmm0, (%esi) 442: movss %xmm1, 8(%esi) 443: addl $32, %esp 444: popl %esi 445: popl %ebx 446: popl %ebp 447: .cfi_def_cfa %esp, 4 448: retl 449: .Lfunc_end15: 450: .size call_f64_f32, .Lfunc_end15-call_f64_f32 451: .cfi_endproc 452: 453: .section .text.call_f32_other,"ax",@progbits 454: .globl call_f32_other 455: .p2align 4, 0x90 456: .type call_f32_other,@function 457: call_f32_other: 458: .cfi_startproc 459: pushl %ebp 460: .cfi_def_cfa_offset 8 461: .cfi_offset %ebp, -8 . . >>>>>> ------------------------------------------ 
@bors
Copy link
Collaborator

bors commented Feb 9, 2025

💔 Test failed - checks-actions

@bors bors added S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. and removed S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. labels Feb 9, 2025
@workingjubilee
Copy link
Member Author

cool.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

A-attributes Area: Attributes (`#[…]`, `#![…]`) A-meta Area: Issues & PRs about the rust-lang/rust repository itself A-run-make Area: port run-make Makefiles to rmake.rs rollup A PR which is a rollup S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. T-bootstrap Relevant to the bootstrap subteam: Rust's build system (x.py and src/bootstrap) 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-rustdoc Relevant to the rustdoc team, which will review and decide on the PR/issue.