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 6 pull requests #110978

Merged
merged 13 commits into from
Apr 29, 2023
Merged

Rollup of 6 pull requests #110978

merged 13 commits into from
Apr 29, 2023

Commits on Apr 26, 2023

  1. Configuration menu
    Copy the full SHA
    5fa8209 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    ee89421 View commit details
    Browse the repository at this point in the history

Commits on Apr 27, 2023

  1. Bump libffi-sys to 2.3.0

    heiher committed Apr 27, 2023
    Configuration menu
    Copy the full SHA
    c7b7248 View commit details
    Browse the repository at this point in the history

Commits on Apr 28, 2023

  1. include source error for LoadLibraryExW

    Sameer Puri committed Apr 28, 2023
    Configuration menu
    Copy the full SHA
    24adb1f View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    33871c9 View commit details
    Browse the repository at this point in the history
  3. Make drop_flags an IndexVec.

    cjgillot committed Apr 28, 2023
    Configuration menu
    Copy the full SHA
    7f26191 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    4e05cfb View commit details
    Browse the repository at this point in the history

Commits on Apr 29, 2023

  1. Rollup merge of rust-lang#110614 - compiler-errors:new-solver-overflo…

    …w-response, r=lcnr
    
    Clear response values for overflow in new solver
    
    When we have an overflow, return a trivial query response. This fixes an ICE with the code described in rust-lang#110544:
    
    ```rust
    trait Trait {}
    
    struct W<T>(T);
    
    impl<T, U> Trait for W<(W<T>, W<U>)>
    where
        W<T>: Trait,
        W<U>: Trait,
    {}
    
    fn impls<T: Trait>() {}
    
    fn main() {
        impls::<W<_>>()
    }
    ```
    
    Where, while proving `W<?0>: Trait`, we overflow but still apply the query response of `?0 = (W<?1>, W<?2>)`. Then while re-processing the query to validate that our evaluation result was stable, we get a different query response that looks like `?1 = (W<?3>, W<?4>), ?2 = (W<?5>, W<?6>)`, and so we trigger the ICE.
    
    Also, by returning a trivial query response we also avoid the infinite-loop/OOM behavior of the old solver.
    
    r? ``@lcnr``
    Dylan-DPC authored Apr 29, 2023
    Configuration menu
    Copy the full SHA
    6da62a4 View commit details
    Browse the repository at this point in the history
  2. Rollup merge of rust-lang#110894 - loongarch-rs:bump-libffi-sys, r=Ma…

    …rk-Simulacrum
    
    Bump libffi-sys to 2.3.0
    
    Bump libffi-sys to 2.3.0 that includes LoongArch support.
    
    Thanks
    
    Related: rust-lang/miri#2858
    Dylan-DPC authored Apr 29, 2023
    Configuration menu
    Copy the full SHA
    55df5c8 View commit details
    Browse the repository at this point in the history
  3. Rollup merge of rust-lang#110932 - sameer:master, r=michaelwoerister

    include source error for LoadLibraryExW
    
    In rust-lang#107595, we added retry behavior for LoadLibraryExW on Windows. If it fails we do not print the underlying error that Windows returned. This made rust-lang#110889 a little harder to debug.
    
    In this PR I am adding the source error in the message if it is available.
    Dylan-DPC authored Apr 29, 2023
    Configuration menu
    Copy the full SHA
    650f8fd View commit details
    Browse the repository at this point in the history
  4. Rollup merge of rust-lang#110958 - compiler-errors:stdlib-refinement,…

    … r=cuviper
    
    Make sure that some stdlib method signatures aren't accidental refinements
    
    In the process of implementing https://rust-lang.github.io/rfcs/3245-refined-impls.html, I found a bunch of stdlib implementations that accidentally "refined" their method signatures by dropping  (unnecessary) bounds.
    
    This isn't currently a problem, but may become one if/when method  signature refining is stabilized in the future. Shouldn't hurt to make these signatures a bit more accurate anyways.
    
    NOTE (just to be clear lol): This does not affect behavior at all, since we don't actually take advantage of refined implementations yet!
    Dylan-DPC authored Apr 29, 2023
    Configuration menu
    Copy the full SHA
    339786e View commit details
    Browse the repository at this point in the history
  5. Rollup merge of rust-lang#110962 - cjgillot:no-hash-drops, r=compiler…

    …-errors
    
    Make drop_flags an IndexVec.
    
    Fixes rust-lang#91943
    Dylan-DPC authored Apr 29, 2023
    Configuration menu
    Copy the full SHA
    7721c73 View commit details
    Browse the repository at this point in the history
  6. Rollup merge of rust-lang#110965 - compiler-errors:anon-lt-dupe-oops,…

    … r=cjgillot
    
    Don't duplicate anonymous lifetimes for async fn in traits
    
    `record_lifetime_params_for_async` needs to be called outside of the scope of the function, or else it'll end up collecting anonymous lifetimes twice (those on the function and those within the `AnonymousCreateParameter` rib). This matches how `record_lifetime_params_for_async` is being used for functions with bodies below.
    
    This fixes (partially) rust-lang#110963 when the lifetimes are late-bound, but does not do so when the lifetimes are early-bound (as seen from the known-bug that I added).
    Dylan-DPC authored Apr 29, 2023
    Configuration menu
    Copy the full SHA
    81910a1 View commit details
    Browse the repository at this point in the history