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 #125448

Merged
merged 20 commits into from
May 23, 2024
Merged

Rollup of 8 pull requests #125448

merged 20 commits into from
May 23, 2024

Commits on Apr 23, 2024

  1. Add regression test

    oli-obk committed Apr 23, 2024
    Configuration menu
    Copy the full SHA
    a18f043 View commit details
    Browse the repository at this point in the history
  2. Allow coercing functions whose signature differs in opaque types in t…

    …heir defining scope into a shared function pointer type
    oli-obk committed Apr 23, 2024
    Configuration menu
    Copy the full SHA
    c24148e View commit details
    Browse the repository at this point in the history

Commits on May 22, 2024

  1. Rename FrameworkOnlyWindows to RawDylibOnlyWindows

    Frameworks are Apple-specific, no idea why it had "framework" in the
    name before.
    tbu- committed May 22, 2024
    Configuration menu
    Copy the full SHA
    72968e5 View commit details
    Browse the repository at this point in the history
  2. rustc: Use tcx.used_crates(()) more

    And explain when it should be used.
    petrochenkov committed May 22, 2024
    Configuration menu
    Copy the full SHA
    711338b View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    8369dbb View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    c24d1c7 View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    d4e5426 View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    ae49dbe View commit details
    Browse the repository at this point in the history

Commits on May 23, 2024

  1. Configuration menu
    Copy the full SHA
    1f17e27 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    3ac1a80 View commit details
    Browse the repository at this point in the history
  3. Add regression tests

    oli-obk committed May 23, 2024
    Configuration menu
    Copy the full SHA
    301c8de View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    4cf34cb View commit details
    Browse the repository at this point in the history
  5. Rollup merge of rust-lang#124297 - oli-obk:define_opaque_types13, r=j…

    …ackh726
    
    Allow coercing functions whose signature differs in opaque types in their defining scope into a shared function pointer type
    
    r? `@compiler-errors`
    
    This accepts more code on stable. It is now possible to have match arms return a function item `foo` and a different function item `bar` in another, and that will constrain OpaqueTypeInDefiningScope to have the hidden type ConcreteType and make the type of the match arms a function pointer that matches the signature. So the following function will now compile, but on master it errors with a type mismatch on the second match arm
    
    ```rust
    fn foo<T>(t: T) -> T {
        t
    }
    
    fn bar<T>(t: T) -> T {
        t
    }
    
    fn k() -> impl Sized {
        fn bind<T, F: FnOnce(T) -> T>(_: T, f: F) -> F {
            f
        }
        let x = match true {
            true => {
                let f = foo;
                bind(k(), f)
            }
            false => bar::<()>,
        };
        todo!()
    }
    ```
    
    cc rust-lang#116652
    
    This is very similar to rust-lang#123794, and with the same rationale:
    
    > this is for consistency with `-Znext-solver`. the new solver does not have the concept of "non-defining use of opaque" right now and we would like to ideally keep it that way. Moving to `DefineOpaqueTypes::Yes` in more cases removes subtlety from the type system. Right now we have to be careful when relating `Opaque` with another type as the behavior changes depending on whether we later use the `Opaque` or its hidden type directly (even though they are equal), if that later use is with `DefineOpaqueTypes::No`*
    matthiaskrgr committed May 23, 2024
    Configuration menu
    Copy the full SHA
    abcf400 View commit details
    Browse the repository at this point in the history
  6. Rollup merge of rust-lang#124516 - oli-obk:taint_const_eval, r=RalfJung

    Allow monomorphization time const eval failures if the cause is a type layout issue
    
    r? `@RalfJung`
    
    fixes  rust-lang#124348
    matthiaskrgr committed May 23, 2024
    Configuration menu
    Copy the full SHA
    eb6b35b View commit details
    Browse the repository at this point in the history
  7. Rollup merge of rust-lang#124976 - petrochenkov:usedcrates, r=oli-obk

    rustc: Use `tcx.used_crates(())` more
    
    And explain when it should be used.
    
    Addresses comments from rust-lang#121167.
    matthiaskrgr committed May 23, 2024
    Configuration menu
    Copy the full SHA
    eda4a35 View commit details
    Browse the repository at this point in the history
  8. Rollup merge of rust-lang#125210 - fmease:fix-up-some-diags, r=davidtwco

    Cleanup: Fix up some diagnostics
    
    Several diagnostics contained their error code inside their primary message which is no bueno.
    This PR moves them out of the message and turns them into structured error codes.
    
    Also fixes another occurrence of `->` after a selector in a Fluent message which is not correct. I've fixed two other instances of this issue in rust-lang#104345 (2022) but didn't update all instances as I've noted here: rust-lang#104345 (comment) (“the future is now!”).
    matthiaskrgr committed May 23, 2024
    Configuration menu
    Copy the full SHA
    337987b View commit details
    Browse the repository at this point in the history
  9. Rollup merge of rust-lang#125409 - tbu-:pr_raw_dylib_only_windows, r=…

    …lcnr
    
    Rename `FrameworkOnlyWindows` to `RawDylibOnlyWindows`
    
    Frameworks are Apple-specific, no idea why it had "framework" in the name before.
    matthiaskrgr committed May 23, 2024
    Configuration menu
    Copy the full SHA
    c9e457d View commit details
    Browse the repository at this point in the history
  10. Rollup merge of rust-lang#125416 - compiler-errors:param-env-missing-…

    …copy, r=lcnr
    
    Use correct param-env in `MissingCopyImplementations`
    
    We shouldn't assume the param-env is empty for this lint, since although we check the struct has no parameters, there still may be trivial where-clauses.
    
    fixes rust-lang#125394
    matthiaskrgr committed May 23, 2024
    Configuration menu
    Copy the full SHA
    e713b2a View commit details
    Browse the repository at this point in the history
  11. Rollup merge of rust-lang#125421 - Oneirical:bundle-them-yet-again, r…

    …=jieyouxu
    
    Rewrite `core-no-oom-handling`, `issue-24445` and `issue-38237` `run-make` tests to new `rmake.rs` format
    
    Part of rust-lang#121876 and the associated [Google Summer of Code project](https://blog.rust-lang.org/2024/05/01/gsoc-2024-selected-projects.html).
    
    The test which is now called `non-pie-thread-local` has an unexplained "only-linux" flag. Could it be worth trying to remove it and changing the CI to test non-Linux platforms on it?
    matthiaskrgr committed May 23, 2024
    Configuration menu
    Copy the full SHA
    eb1b9b0 View commit details
    Browse the repository at this point in the history
  12. Rollup merge of rust-lang#125438 - tbu-:pr_rm_to_string_lossy, r=jiey…

    …ouxu
    
    Remove unneeded string conversion
    matthiaskrgr committed May 23, 2024
    Configuration menu
    Copy the full SHA
    cf92f4c View commit details
    Browse the repository at this point in the history