Skip to content
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 #126965

Merged
merged 19 commits into from
Jun 25, 2024
Merged

Rollup of 8 pull requests #126965

merged 19 commits into from
Jun 25, 2024

Commits on Jun 24, 2024

  1. Configuration menu
    Copy the full SHA
    553a690 View commit details
    Browse the repository at this point in the history

Commits on Jun 25, 2024

  1. Configuration menu
    Copy the full SHA
    8016940 View commit details
    Browse the repository at this point in the history
  2. core: VaArgSafe is an unsafe trait

    `T: VaArgSafe` is relied on for soundness. Safe impls promise nothing.
    Therefore this must be an unsafe trait. Slightly pedantic, as
    only core can impl this, but we could choose to unseal the trait.
    That would allow soundly (but unsafely) implementing this for e.g.
    a `#[repr(C)] struct` that should be passable by varargs.
    workingjubilee committed Jun 25, 2024
    Configuration menu
    Copy the full SHA
    050595a View commit details
    Browse the repository at this point in the history
  3. Tweak FlatPat::new to avoid a temporarily-invalid state

    It was somewhat confusing that the old constructor would create a `FlatPat` in
    a (possibly) non-simplified state, and then simplify its contents in-place.
    
    So instead we now create its fields as local variables, perform simplification,
    and then create the struct afterwards.
    
    This doesn't affect correctness, but is less confusing.
    Zalathar committed Jun 25, 2024
    Configuration menu
    Copy the full SHA
    c2f1072 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    c7b579a View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    2155c6c View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    b08cd69 View commit details
    Browse the repository at this point in the history
  7. Configuration menu
    Copy the full SHA
    7e187e8 View commit details
    Browse the repository at this point in the history
  8. 6 Configuration menu
    Copy the full SHA
    aa46a33 View commit details
    Browse the repository at this point in the history
  9. Configuration menu
    Copy the full SHA
    d30d85f View commit details
    Browse the repository at this point in the history
  10. Configuration menu
    Copy the full SHA
    6997b68 View commit details
    Browse the repository at this point in the history
  11. Rollup merge of rust-lang#126302 - mu001999-contrib:ignore/default, r…

    …=michaelwoerister
    
    Detect unused structs which derived Default
    
    <!--
    If this PR is related to an unstable feature or an otherwise tracked effort,
    please link to the relevant tracking issue here. If you don't know of a related
    tracking issue or there are none, feel free to ignore this.
    
    This PR will get automatically assigned to a reviewer. In case you would like
    a specific user to review your work, you can assign it to them by using
    
        r​? <reviewer name>
    -->
    
    Fixes rust-lang#98871
    matthiaskrgr authored Jun 25, 2024
    Configuration menu
    Copy the full SHA
    58bbade View commit details
    Browse the repository at this point in the history
  12. Rollup merge of rust-lang#126885 - Borgerr:rm_internal_pathbuf_asmutv…

    …ec, r=workingjubilee
    
    Remove internal `PathBuf::as_mut_vec`
    
    closes rust-lang#126333
    matthiaskrgr authored Jun 25, 2024
    Configuration menu
    Copy the full SHA
    9d7e146 View commit details
    Browse the repository at this point in the history
  13. Rollup merge of rust-lang#126916 - ferrocene:hoverbear/riscv64gc-gnu-…

    …specify-linker, r=Kobzol
    
    Specify target specific linker for `riscv64gc-gnu` job
    
    In rust-lang#125669 I updated the `riscv64gc-gnu` job to be more in line with other jobs, like the `armhf-gnu` one.
    
    I missed something important, though! Since the `riscv64gc-unknown-linux-gnu` builds go through a cross compiler, invoking `cc` is not correct! That would invoke the `x86_64-unknown-linux-gnu` linker, instead of the `riscv64gc-unknown-linux-gnu` linker.
    
    While developing rust-lang#125669 I assumed this line would have been sufficient, however it was not:
    
    https://github.com/rust-lang/rust/blob/553a69030e5a086eb3841d020db8c9c463948c72/src/ci/docker/host-x86_64/disabled/riscv64gc-gnu/Dockerfile#L27-L28
    
    Unfortunately, without the linker set, `cc` is invoked, and the following linker error occurs:
    
    <details>
    
    <summary>Long output</summary>
    
    ```
    2024-06-21T14:37:54.4786899Z === HAYSTACK ===
    2024-06-21T14:37:54.4787240Z error: linking with `cc` failed: exit status: 1
    2024-06-21T14:37:54.4787589Z   |
    2024-06-21T14:37:54.4806781Z   = note: LC_ALL="C" PATH="/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/lib/rustlib/x86_64-unknown-linux-gnu/bin:/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/lib/rustlib/x86_64-unknown-linux-gnu/bin:/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/lib/rustlib/x86_64-unknown-linux-gnu/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin" VSLANG="1033" "cc" "/tmp/rustc7Ju6va/symbols.o" "inaccessible/tmp/program.program.45572bc5f2b14090-cgu.0.rcgu.o" "inaccessible/tmp/program.dv9uftjrq86w5xa7l2eo7g9l7.rcgu.o" "-Wl,--as-needed" "-L" "/checkout/obj/build/x86_64-unknown-linux-gnu/test/run-make/inaccessible-temp-dir/inaccessible-temp-dir/rmake_out" "-L" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/lib/rustlib/riscv64gc-unknown-linux-gnu/lib" "-Wl,-Bstatic" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/lib/rustlib/riscv64gc-unknown-linux-gnu/lib/libstd-bb9ed017b7d70437.rlib" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/lib/rustlib/riscv64gc-unknown-linux-gnu/lib/libpanic_unwind-5b34ef68c22a7b9b.rlib" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/lib/rustlib/riscv64gc-unknown-linux-gnu/lib/libobject-4b9224407e296f51.rlib" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/lib/rustlib/riscv64gc-unknown-linux-gnu/lib/libmemchr-1eaaa8d74bbe0b36.rlib" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/lib/rustlib/riscv64gc-unknown-linux-gnu/lib/libaddr2line-b34292f7086867e9.rlib" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/lib/rustlib/riscv64gc-unknown-linux-gnu/lib/libgimli-1927540c5dff6690.rlib" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/lib/rustlib/riscv64gc-unknown-linux-gnu/lib/librustc_demangle-ab493befe3742702.rlib" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/lib/rustlib/riscv64gc-unknown-linux-gnu/lib/libstd_detect-41195694489636c4.rlib" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/lib/rustlib/riscv64gc-unknown-linux-gnu/lib/libhashbrown-6905da49c8a1542a.rlib" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/lib/rustlib/riscv64gc-unknown-linux-gnu/lib/librustc_std_workspace_alloc-bbc6290f03f92349.rlib" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/lib/rustlib/riscv64gc-unknown-linux-gnu/lib/libminiz_oxide-7a4683d4a82cf47c.rlib" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/lib/rustlib/riscv64gc-unknown-linux-gnu/lib/libadler-071583516cdbce90.rlib" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/lib/rustlib/riscv64gc-unknown-linux-gnu/lib/libunwind-d84b176d2f4c1334.rlib" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/lib/rustlib/riscv64gc-unknown-linux-gnu/lib/libcfg_if-92b7de0160f87442.rlib" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/lib/rustlib/riscv64gc-unknown-linux-gnu/lib/liblibc-cff1533ea7c26263.rlib" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/lib/rustlib/riscv64gc-unknown-linux-gnu/lib/liballoc-49e374c13f9e6132.rlib" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/lib/rustlib/riscv64gc-unknown-linux-gnu/lib/librustc_std_workspace_core-9389dcc15b2f7f7b.rlib" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/lib/rustlib/riscv64gc-unknown-linux-gnu/lib/libcore-46f0fa14905fdc5c.rlib" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/lib/rustlib/riscv64gc-unknown-linux-gnu/lib/libcompiler_builtins-20e1af401f90cd1c.rlib" "-Wl,-Bdynamic" "-lgcc_s" "-lutil" "-lrt" "-lpthread" "-lm" "-ldl" "-lc" "-Wl,--eh-frame-hdr" "-Wl,-z,noexecstack" "-L" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/lib/rustlib/riscv64gc-unknown-linux-gnu/lib" "-o" "program" "-Wl,--gc-sections" "-pie" "-Wl,-z,relro,-z,now" "-nodefaultlibs"
    2024-06-21T14:37:54.4823900Z   = note: /usr/bin/ld: inaccessible/tmp/program.program.45572bc5f2b14090-cgu.0.rcgu.o: Relocations in generic ELF (EM: 243)
    2024-06-21T14:37:54.4825032Z           /usr/bin/ld: inaccessible/tmp/program.program.45572bc5f2b14090-cgu.0.rcgu.o: Relocations in generic ELF (EM: 243)
    2024-06-21T14:37:54.4826130Z           /usr/bin/ld: inaccessible/tmp/program.program.45572bc5f2b14090-cgu.0.rcgu.o: Relocations in generic ELF (EM: 243)
    2024-06-21T14:37:54.4827200Z           /usr/bin/ld: inaccessible/tmp/program.program.45572bc5f2b14090-cgu.0.rcgu.o: Relocations in generic ELF (EM: 243)
    2024-06-21T14:37:54.4828279Z           /usr/bin/ld: inaccessible/tmp/program.program.45572bc5f2b14090-cgu.0.rcgu.o: Relocations in generic ELF (EM: 243)
    2024-06-21T14:37:54.4829365Z           /usr/bin/ld: inaccessible/tmp/program.program.45572bc5f2b14090-cgu.0.rcgu.o: Relocations in generic ELF (EM: 243)
    2024-06-21T14:37:54.4830474Z           /usr/bin/ld: inaccessible/tmp/program.program.45572bc5f2b14090-cgu.0.rcgu.o: Relocations in generic ELF (EM: 243)
    2024-06-21T14:37:54.4831554Z           /usr/bin/ld: inaccessible/tmp/program.program.45572bc5f2b14090-cgu.0.rcgu.o: Relocations in generic ELF (EM: 243)
    2024-06-21T14:37:54.4833002Z           /usr/bin/ld: inaccessible/tmp/program.program.45572bc5f2b14090-cgu.0.rcgu.o: Relocations in generic ELF (EM: 243)
    2024-06-21T14:37:54.4834116Z           /usr/bin/ld: inaccessible/tmp/program.program.45572bc5f2b14090-cgu.0.rcgu.o: Relocations in generic ELF (EM: 243)
    2024-06-21T14:37:54.4835237Z           /usr/bin/ld: inaccessible/tmp/program.program.45572bc5f2b14090-cgu.0.rcgu.o: error adding symbols: file in wrong format
    2024-06-21T14:37:54.4835971Z           collect2: error: ld returned 1 exit status
    2024-06-21T14:37:54.4836449Z
    2024-06-21T14:37:54.4836584Z
    2024-06-21T14:37:54.4836744Z error: aborting due to 1 previous error
    2024-06-21T14:37:54.4836983Z
    2024-06-21T14:37:54.4836990Z
    2024-06-21T14:37:54.4837083Z === NEEDLE ===
    2024-06-21T14:37:54.4837518Z failed to find or create the directory specified by `--temps-dir`
    2024-06-21T14:37:54.4838250Z thread 'main' panicked at /checkout/tests/run-make/inaccessible-temp-dir/rmake.rs:35:14:
    2024-06-21T14:37:54.4838801Z needle was not found in haystack
    2024-06-21T14:37:54.4839270Z note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
    2024-06-21T14:37:54.4840125Z thread 'main' panicked at /checkout/tests/run-make/inaccessible-temp-dir/rmake.rs:27:5:
    2024-06-21T14:37:54.4840759Z called `Result::unwrap()` on an `Err` value: Any { .. }
    2024-06-21T14:37:54.4841194Z ------------------------------------------
    ```
    
    </details>
    
    By setting `--set target.riscv64gc-unknown-linux-gnu.linker=riscv64-linux-gnu-gcc` the correct linker is invoked.
    
    ## Testing
    
    > [!NOTE]
    > `riscv64gc-unknown-linux-gnu` is a [**Tier 2 with Host Tools** platform](https://doc.rust-lang.org/beta/rustc/platform-support.html), all tests may not necessarily pass! This change should only make fix existing broken tests (like `inaccessible-temp-dir`) while introducing no new breakage.
    
    You can test out the job locally:
    
    ```sh
    mv src/ci/docker/host-x86_64/disabled/riscv64gc-gnu src/ci/docker/host-x86_64/riscv64gc-gnu
    DEPLOY=1 ./src/ci/docker/run.sh riscv64gc-gnu
    ```
    matthiaskrgr authored Jun 25, 2024
    Configuration menu
    Copy the full SHA
    e29cc5d View commit details
    Browse the repository at this point in the history
  14. Rollup merge of rust-lang#126926 - Zalathar:candidate-per-arm, r=Nadr…

    …ieril
    
    Tweak a confusing comment in `create_match_candidates`
    
    This comment was accurate at the time it was written, but various later changes reshuffled things in ways that caused the existing comment to become confusing.
    
    I've therefore tried to clarify that *these* candidates are 1:1 with match arms, while also warning that that isn't the case in general.
    matthiaskrgr authored Jun 25, 2024
    Configuration menu
    Copy the full SHA
    6077c0e View commit details
    Browse the repository at this point in the history
  15. Rollup merge of rust-lang#126927 - workingjubilee:vaargsafe-is-unsafe…

    …, r=joboet
    
    core: VaArgSafe is an unsafe trait
    
    `T: VaArgSafe` is relied on for soundness. Safe impls promise nothing. Therefore this must be an unsafe trait. Slightly pedantic, as only core can impl this, but we *could* choose to unseal the trait. That would allow soundly (but unsafely) implementing this for e.g. a `#[repr(C)] struct` that should be passable by varargs.
    
    Relates to rust-lang#44930
    matthiaskrgr authored Jun 25, 2024
    Configuration menu
    Copy the full SHA
    3795c56 View commit details
    Browse the repository at this point in the history
  16. Rollup merge of rust-lang#126932 - Zalathar:flat-pat, r=Nadrieril

    Tweak `FlatPat::new` to avoid a temporarily-invalid state
    
    It was somewhat confusing that the old constructor would create a `FlatPat` in a (possibly) non-simplified state, and then simplify its contents in-place.
    
    So instead we now create its fields as local variables, perform simplification, and then create the struct afterwards.
    
    This doesn't affect correctness, but is less confusing.
    
    ---
    
    I've also included some semi-related comments that I made while trying to navigate this code.
    matthiaskrgr authored Jun 25, 2024
    Configuration menu
    Copy the full SHA
    7e1489c View commit details
    Browse the repository at this point in the history
  17. Rollup merge of rust-lang#126946 - cyrgani:patch-1, r=compiler-errors

    Add missing slash in `const_eval_select` doc comment
    
    In the middle of the doc comment, one line has only two slashes instead of three and isn't included in the [rendered documentation](https://doc.rust-lang.org/std/intrinsics/fn.const_eval_select.html#stability-concerns). This PR adds the missing slash.
    matthiaskrgr authored Jun 25, 2024
    Configuration menu
    Copy the full SHA
    e970017 View commit details
    Browse the repository at this point in the history
  18. Rollup merge of rust-lang#126947 - Bryanskiy:delegation-lowering-refa…

    …ctoring, r=petrochenkov
    
    Delegation: ast lowering refactor
    
    refactoring changes for rust-lang#126699
    
    r? ```@petrochenkov```
    matthiaskrgr authored Jun 25, 2024
    Configuration menu
    Copy the full SHA
    4ebd69c View commit details
    Browse the repository at this point in the history