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 11 pull requests #130179

Merged
merged 29 commits into from
Sep 10, 2024
Merged

Rollup of 11 pull requests #130179

merged 29 commits into from
Sep 10, 2024

Commits on Jul 28, 2024

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

Commits on Aug 26, 2024

  1. Add a run-make test for checking that certain rustc_ crates build o…

    …n stable
    Kobzol authored and lqd committed Aug 26, 2024
    Configuration menu
    Copy the full SHA
    893413d View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    7957140 View commit details
    Browse the repository at this point in the history
  3. run test in tmp dir and emit artifacts there

    otherwise the test would build in the source root's `target` folder
    lqd committed Aug 26, 2024
    Configuration menu
    Copy the full SHA
    d9794a9 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    2190c28 View commit details
    Browse the repository at this point in the history
  5. separate the crates to test from the test setup

    it'll be easier to see and update the list: the other cmd args
    can just be ignored
    lqd committed Aug 26, 2024
    Configuration menu
    Copy the full SHA
    0577035 View commit details
    Browse the repository at this point in the history
  6. remove unneeded type ascription

    lqd committed Aug 26, 2024
    Configuration menu
    Copy the full SHA
    f1df0c5 View commit details
    Browse the repository at this point in the history

Commits on Sep 2, 2024

  1. address review comments

    lqd committed Sep 2, 2024
    Configuration menu
    Copy the full SHA
    a178559 View commit details
    Browse the repository at this point in the history

Commits on Sep 6, 2024

  1. Make download-ci-llvm = true check if CI llvm is available

    and make it the default for the compiler profile, as to prevent
    unnecessarily checking out `src/llvm-project` with `"if-unchanged"`.
    Urgau committed Sep 6, 2024
    Configuration menu
    Copy the full SHA
    5f367bb View commit details
    Browse the repository at this point in the history

Commits on Sep 8, 2024

  1. Remove serialized_bitcode from LtoModuleCodegen.

    It's unused.
    nnethercote committed Sep 8, 2024
    Configuration menu
    Copy the full SHA
    bbe28cf View commit details
    Browse the repository at this point in the history

Commits on Sep 9, 2024

  1. [illumos] enable SIGSEGV handler to detect stack overflows

    Use the same code as Solaris. I couldn't find any tests regarding this, but I
    did test a stage0 build against my stack-exhaust-test binary [1]. Before:
    
    ```
    running with use_stacker = No, new_thread = false, make_large_local = false
    zsh: segmentation fault (core dumped)  cargo run
    ```
    
    After:
    
    ```
    running with use_stacker = No, new_thread = false, make_large_local = false
    
    thread 'main' has overflowed its stack
    fatal runtime error: stack overflow
    zsh: IOT instruction (core dumped)  cargo +stage0 run
    ```
    
    Fixes rust-lang#128568.
    
    [1] https://github.com/sunshowers/stack-exhaust-test/
    sunshowers committed Sep 9, 2024
    Configuration menu
    Copy the full SHA
    54672ac View commit details
    Browse the repository at this point in the history
  2. bootstrap naked_asm! for compiler-builtins

    in this commit, `naked_asm!` is an alias for `asm!` with one difference: `options(noreturn)` is always enabled by `naked_asm!`. That makes it future-compatible for when `naked_asm!` starts disallowing `options(noreturn)` later.
    folkertdev committed Sep 9, 2024
    Configuration menu
    Copy the full SHA
    0237899 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    db63611 View commit details
    Browse the repository at this point in the history
  4. adapt a test for llvm 20

    No functional changes intended.
    krasimirgg committed Sep 9, 2024
    Configuration menu
    Copy the full SHA
    383f506 View commit details
    Browse the repository at this point in the history
  5. bump download-ci-llvm-stamp

    Signed-off-by: onur-ozkan <[email protected]>
    onur-ozkan committed Sep 9, 2024
    Configuration menu
    Copy the full SHA
    667cf22 View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    720bd0d View commit details
    Browse the repository at this point in the history
  7. Configuration menu
    Copy the full SHA
    e10224a View commit details
    Browse the repository at this point in the history
  8. compiler: Inform the solver of concurrency

    Parallel compilation of a program can cause unexpected event sequencing.
    Inform the solver when this is true so it can skip invalid asserts, then
    assert replaced solutions are equal if Some
    workingjubilee committed Sep 9, 2024
    Configuration menu
    Copy the full SHA
    d243c8f View commit details
    Browse the repository at this point in the history

Commits on Sep 10, 2024

  1. Rollup merge of rust-lang#128316 - GrigorenkoPV:io_error_a_bit_more, …

    …r=dtolnay
    
    Stabilize most of `io_error_more`
    
    Sadly, venting my frustration with t-libs-api is not a constructive way to solve problems and get things done, so I will try to stick to stuff that actually matters here.
    
    - Tracking issue for this feature was opened 3 years ago: rust-lang#86442
    - FCP to stabilize it was completed 19(!!) months ago: rust-lang#86442 (comment)
    - A PR with stabilization was similarly open for 19 months: rust-lang#106375, but nothing ever came out of it. Presumably (it is hard to judge given the lack of communication) because a few of the variants still had some concerns voiced about them, even after the FCP.
    
    So, to highlight a common sentiment:
    
    > Maybe uncontroversial variants can be stabilised first and other variants (such as `QuotaExceeded` or `FilesystemLoop`) later? [^1]
    
    [^1]: rust-lang#106375 (comment)
    
    > I would like to voice support stabilization of the uncontroversial variants. This would get those variants to stable and focus the discussion around the more controversial ones. I don't see any particular reason that all of these must be stabilized at the same time. [...] [^2]
    
    [^2]: rust-lang#106375 (comment)
    
    > Maybe some less-controversial subset could be stabilized sooner? What’s blocking this issue from making progress? [^3]
    
    [^3]: rust-lang#86442 (comment) (got 30 upvotes btw) (and no response)
    
    So this is exactly what this PR does. It stabilizes the non-controversial variants now, leaving just a few of them behind.
    
    Namely, this PR stabilizes:
    
    - `HostUnreachable`
    - `NetworkUnreachable`
    - `NetworkDown`
    - `NotADirectory`
    - `IsADirectory`
    - `DirectoryNotEmpty`
    - `ReadOnlyFilesystem`
    - `StaleNetworkFileHandle`
    - `StorageFull`
    - `NotSeekable`
    - `FileTooLarge`
    - `ResourceBusy`
    - `ExecutableFileBusy`
    - `Deadlock`
    - `TooManyLinks`
    - `ArgumentListTooLong`
    - `Unsupported`
    
    This PR does not stabilize:
    - `FilesystemLoop`
    - `FilesystemQuotaExceeded`
    - `CrossesDevices`
    - `InvalidFilename`
    
    Hopefully, this will allow us to move forward with this highly and long awaited addition to std, both allowing to still polish the less clear parts of it and not leading to stagnation.
    
    r? joshtriplett
    because they seem to be listed as a part of t-libs-api and were one of the most responsive persons previously
    workingjubilee authored Sep 10, 2024
    Configuration menu
    Copy the full SHA
    1392965 View commit details
    Browse the repository at this point in the history
  2. Rollup merge of rust-lang#129473 - Urgau:fix-llvm-if-unchanged, r=onu…

    …r-ozkan
    
    use  `download-ci-llvm=true` in the default compiler config
    
    rust-lang@1ca2708 made it so that the `src/llvm-project` submodule has to be checkout for `download-ci-llvm = "if-unchanged"` to know if the submodule has been changed, but that is not required, if the submodule hasn't been checkout it cannot have been modified.
    
    ~~This PR restore the previous behavior by only updating the submodule if it has already been checkout.~~
    
    This PR makes `download-ci-llvm = true` check if CI llvm is available and make it the default for the compiler profile, as to prevent unnecessarily checking out `src/llvm-project` with `"if-unchanged"`.
    
    r? `````@onur-ozkan`````
    workingjubilee authored Sep 10, 2024
    Configuration menu
    Copy the full SHA
    5c91cc5 View commit details
    Browse the repository at this point in the history
  3. Rollup merge of rust-lang#129529 - lqd:stable-new-solver, r=Kobzol

    Add test to build crates used by r-a on stable
    
    r? ````````@Kobzol````````
    
    I've opened other PRs for this one to work and they've landed already. I cherry-picked your commit, and added the last remaining pieces we needed I think.
    workingjubilee authored Sep 10, 2024
    Configuration menu
    Copy the full SHA
    a4c6104 View commit details
    Browse the repository at this point in the history
  4. Rollup merge of rust-lang#129981 - nnethercote:rm-serialize_bitcode, …

    …r=antoyo,tmiasko
    
    Remove `serialized_bitcode` from `LtoModuleCodegen`.
    
    It's unused.
    
    r? ``@bjorn3``
    workingjubilee authored Sep 10, 2024
    Configuration menu
    Copy the full SHA
    88a2c62 View commit details
    Browse the repository at this point in the history
  5. Rollup merge of rust-lang#130094 - workingjubilee:concurrency-is-real…

    …, r=lcnr
    
    Inform the solver if evaluation is concurrent
    
    Parallel compilation of a program can cause unexpected event sequencing. Inform the solver when this is true so it can skip invalid asserts.
    workingjubilee authored Sep 10, 2024
    Configuration menu
    Copy the full SHA
    2859c24 View commit details
    Browse the repository at this point in the history
  6. Rollup merge of rust-lang#130132 - sunshowers:illumos-sigsegv, r=Nora…

    …trieb
    
    [illumos] enable SIGSEGV handler to detect stack overflows
    
    Use the same code as Solaris. I couldn't find any tests regarding this, but I did test a stage0 build against my stack-exhaust-test binary [1]. Before:
    
    ```
    running with use_stacker = No, new_thread = false, make_large_local = false
    zsh: segmentation fault (core dumped)  cargo run
    ```
    
    After:
    
    ```
    running with use_stacker = No, new_thread = false, make_large_local = false
    
    thread 'main' has overflowed its stack
    fatal runtime error: stack overflow
    zsh: IOT instruction (core dumped)  cargo +stage0 run
    ```
    
    Fixes rust-lang#128568.
    
    [1] https://github.com/sunshowers/stack-exhaust-test/
    workingjubilee authored Sep 10, 2024
    Configuration menu
    Copy the full SHA
    4680892 View commit details
    Browse the repository at this point in the history
  7. Rollup merge of rust-lang#130146 - folkertdev:bootstrap-naked-asm, r=…

    …Amanieu
    
    bootstrap `naked_asm!` for `compiler-builtins`
    
    tracking issue: rust-lang#90957
    parent PR: rust-lang#128651
    
    in this PR, `naked_asm!` is added as an alias for `asm!` with one difference: `options(noreturn)` is always enabled by `naked_asm!`. That makes it future-compatible for when `naked_asm!` starts disallowing `options(noreturn)` later.
    
    The `naked_asm!` macro must be introduced first so that we can upgrade `compiler-builtins` to use it, and can then change the implementation of `naked_asm!` in rust-lang#128651
    
    I've added some usages for `naked_asm!` in the tests, so we can be confident that it works, but I've left upgrading the whole test suite to the parent PR.
    
    r? ``@Amanieu``
    workingjubilee authored Sep 10, 2024
    Configuration menu
    Copy the full SHA
    57273d8 View commit details
    Browse the repository at this point in the history
  8. Rollup merge of rust-lang#130149 - GrigorenkoPV:lifetime-suggestion, …

    …r=cjgillot
    
    Helper function for formatting with `LifetimeSuggestionPosition`
    workingjubilee authored Sep 10, 2024
    Configuration menu
    Copy the full SHA
    68ae3b2 View commit details
    Browse the repository at this point in the history
  9. Rollup merge of rust-lang#130152 - krasimirgg:nsan, r=nikic

    adapt a test for llvm 20
    
    No functional changes intended.
    
    ``@rustbot`` label: +llvm-main
    r? ``@nikic``
    workingjubilee authored Sep 10, 2024
    Configuration menu
    Copy the full SHA
    a26c809 View commit details
    Browse the repository at this point in the history
  10. Rollup merge of rust-lang#130162 - onur-ozkan:bump-ci-llvm-stamp, r=K…

    …obzol
    
    bump download-ci-llvm-stamp
    
    This should trigger the download and extraction of the ci-llvm tarball, which should resolve rust-lang#130144.
    workingjubilee authored Sep 10, 2024
    Configuration menu
    Copy the full SHA
    ca3f4ae View commit details
    Browse the repository at this point in the history
  11. Rollup merge of rust-lang#130164 - RalfJung:const_ptr_as_ref, r=dtolnay

    move some const fn out of the const_ptr_as_ref feature
    
    When a `const fn` is still `#[unstable]`, it should generally use the same feature to track its regular stability and const-stability. Then when that feature moves towards stabilization we can decide whether the const-ness can be stabilized as well, or whether it should be moved into a new feature.
    
    Also, functions like `ptr::as_ref` (which returns an `Option<&mut T>`) require `is_null`, which is tricky and blocked on some design concerns (see rust-lang#74939). So move those to the is_null feature gate, as they should be stabilized together with `ptr.is_null()`.
    
    Affects rust-lang#91822, rust-lang#122034, rust-lang#75402, rust-lang#74939
    workingjubilee authored Sep 10, 2024
    Configuration menu
    Copy the full SHA
    9749a98 View commit details
    Browse the repository at this point in the history