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

Closed
wants to merge 15 commits into from
Closed

Commits on Dec 4, 2022

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

Commits on Dec 5, 2022

  1. Configuration menu
    Copy the full SHA
    e40dd9e View commit details
    Browse the repository at this point in the history
  2. Add test

    compiler-errors committed Dec 5, 2022
    Configuration menu
    Copy the full SHA
    79aa4a1 View commit details
    Browse the repository at this point in the history

Commits on Dec 8, 2022

  1. Configuration menu
    Copy the full SHA
    0c0fb22 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    6275b04 View commit details
    Browse the repository at this point in the history
  3. Bless incremental tests

    nbdd0121 committed Dec 8, 2022
    Configuration menu
    Copy the full SHA
    3c0983c View commit details
    Browse the repository at this point in the history

Commits on Dec 9, 2022

  1. Illegal sized bounds: only suggest mutability change if needed

    In a scenario like
    
    ```
    struct Type;
    
    pub trait Trait {
        fn function(&mut self)
        where
            Self: Sized;
    }
    
    impl Trait for Type {
        fn function(&mut self) {}
    }
    
    fn main() {
        (&mut Type as &mut dyn Trait).function();
    }
    ```
    
    the problem is Sized, not the mutability of self. Thus don't emit the
    "you need &T instead of &mut T" note, or the other way around, as all
    it does is just invert the mutability of whatever was supplied.
    
    Fixes rust-lang#103622.
    sulami committed Dec 9, 2022
    Configuration menu
    Copy the full SHA
    40ba1c9 View commit details
    Browse the repository at this point in the history

Commits on Dec 13, 2022

  1. Configuration menu
    Copy the full SHA
    ddb6fe2 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    a8a4510 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    95bb689 View commit details
    Browse the repository at this point in the history
  4. Rollup merge of rust-lang#105285 - compiler-errors:conflicting-param-…

    …env-2, r=estebank
    
    Highlight conflicting param-env candidates, again
    
    Un-reverts rust-lang#98794 (i.e. reverts rust-lang#99290).
    
    The previous time I attempted to land this PR, it was because of an incremental issue (rust-lang#99233). The repro instructions in the issue is no longer manifest the ICE -- I think it's because this ambiguity code was refactored (I think by `@lcnr)` to no longer store the ambiguities in the fulfillment error, but instead recompute them on the fly.
    
    The main motivation for trying to re-land this is that it fixes rust-lang#105131 by highlighting the root-cause of the issue, which is conflicting param-env candidates:
    
    ```
    error[E0283]: type annotations needed: cannot satisfy `Self: Gen<'source>`
       |
    note: multiple `impl`s or `where` clauses satisfying `Self: Gen<'source>` found
      --> $DIR/conflicting-bounds.rs:3:1
       |
    LL | pub trait Gen<'source> {
       | ^^^^^^^^^^^^^^^^^^^^^^
    ...
    LL |         Self: for<'s> Gen<'s, Output = T>;
       |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^
    
    error: aborting due to previous error
    
    For more information about this error, try `rustc --explain E0283`.
    ```
    
    Fixes rust-lang#105131.
    Fixes (again) rust-lang#98786
    Dylan-DPC authored Dec 13, 2022
    Configuration menu
    Copy the full SHA
    cf1284b View commit details
    Browse the repository at this point in the history
  5. Rollup merge of rust-lang#105438 - compiler-errors:move-methods, r=es…

    …tebank
    
    Move some codegen-y methods from `rustc_hir_analysis::collect` -> `rustc_codegen_ssa`
    
    Unclear if they should live here, but they seem codegen-y enough, and `rustc_hir_analysis::collect` is extremely long, so it should probably lose some methods.
    Dylan-DPC authored Dec 13, 2022
    Configuration menu
    Copy the full SHA
    9448ab6 View commit details
    Browse the repository at this point in the history
  6. Rollup merge of rust-lang#105464 - nbdd0121:hir, r=compiler-errors

    Support #[track_caller] on async closures
    
    Follow up on rust-lang#105180
    
    r? `@compiler-errors`
    cc `@cjgillot`
    Dylan-DPC authored Dec 13, 2022
    Configuration menu
    Copy the full SHA
    d5a8be4 View commit details
    Browse the repository at this point in the history
  7. Rollup merge of rust-lang#105491 - sulami:master, r=compiler-errors

    Illegal sized bounds: only suggest mutability change if needed
    
    In a scenario like
    
    ```rust
    struct Type;
    
    pub trait Trait {
        fn function(&mut self)
        where
            Self: Sized;
    }
    
    impl Trait for Type {
        fn function(&mut self) {}
    }
    
    fn main() {
        (&mut Type as &mut dyn Trait).function();
    }
    ```
    
    the problem is Sized, not the mutability of self. Thus don't emit the "you need &T instead of &mut T" note, or the other way around, as all it does is just invert the mutability of whatever was supplied.
    
    Fixes rust-lang#103622.
    Dylan-DPC authored Dec 13, 2022
    Configuration menu
    Copy the full SHA
    2dd2b73 View commit details
    Browse the repository at this point in the history
  8. Rollup merge of rust-lang#105646 - lqd:revert-thinlto, r=Mark-Simulacrum

    Revert "enable ThinLTO for rustc on x86_64-apple-darwin dist builds"
    
    Apparently ThinLTO on x64 mac can regress some of the ICEs' output. This reverts rust-lang#103647 to allow for investigation, and fixes  rust-lang#105637 in the meantime.
    Dylan-DPC authored Dec 13, 2022
    Configuration menu
    Copy the full SHA
    af315ab View commit details
    Browse the repository at this point in the history