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

Closed
wants to merge 26 commits into from
Closed

Commits on Mar 18, 2023

  1. Configuration menu
    Copy the full SHA
    50a8097 View commit details
    Browse the repository at this point in the history
  2. better suggestion based on hir

    Signed-off-by: Alex Chi <iskyzh@gmail.com>
    skyzh committed Mar 18, 2023
    Configuration menu
    Copy the full SHA
    7b2c698 View commit details
    Browse the repository at this point in the history
  3. use param instead of ty

    Signed-off-by: Alex Chi <iskyzh@gmail.com>
    skyzh committed Mar 18, 2023
    Configuration menu
    Copy the full SHA
    c025483 View commit details
    Browse the repository at this point in the history

Commits on Apr 9, 2023

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

Commits on Apr 10, 2023

  1. remove obsolete test

    TDecking committed Apr 10, 2023
    Configuration menu
    Copy the full SHA
    65c9c79 View commit details
    Browse the repository at this point in the history

Commits on Apr 11, 2023

  1. Configuration menu
    Copy the full SHA
    171f541 View commit details
    Browse the repository at this point in the history
  2. remove issue-2718.rs test

    this test was added for rust 0.4 and doesn't test anything specific.
    The repro originally relied on extern functions which are now just
    ordinary methods. It's also a run pass test even though `main` has
    been commented out.
    lcnr committed Apr 11, 2023
    Configuration menu
    Copy the full SHA
    43e6f99 View commit details
    Browse the repository at this point in the history

Commits on Apr 12, 2023

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

Commits on Apr 13, 2023

  1. Remove useless match.

    nnethercote committed Apr 13, 2023
    Configuration menu
    Copy the full SHA
    722e078 View commit details
    Browse the repository at this point in the history
  2. Make mk_bound_region closure more generic.

    This is necessary for the subsequent commits.
    nnethercote committed Apr 13, 2023
    Configuration menu
    Copy the full SHA
    c18773a View commit details
    Browse the repository at this point in the history
  3. Add tidy-alphabetical to features in core

    So that people have to keep them sorted in future.
    scottmcm committed Apr 13, 2023
    Configuration menu
    Copy the full SHA
    7407668 View commit details
    Browse the repository at this point in the history
  4. Cover edge cases for {f32, f64}.hypot() docs

    Re-phrase in a way that handles input values being either 0 or
    negative.
    jmaargh committed Apr 13, 2023
    Configuration menu
    Copy the full SHA
    cd868dc View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    dcc51f1 View commit details
    Browse the repository at this point in the history
  6. make tcx.impl_subject return EarlyBinder, remove bound_impl_subject, …

    …rename usages of bound_impl_subject to impl_subject
    kylematsuda committed Apr 13, 2023
    Configuration menu
    Copy the full SHA
    e2f5a5a View commit details
    Browse the repository at this point in the history
  7. Configuration menu
    Copy the full SHA
    8d5ee1a View commit details
    Browse the repository at this point in the history

Commits on Apr 14, 2023

  1. Configuration menu
    Copy the full SHA
    7dbd2e2 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    f07c335 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    c68c6c3 View commit details
    Browse the repository at this point in the history
  4. Rollup merge of rust-lang#105888 - skyzh:skyzh/suggest-lifetime-closu…

    …re, r=compiler-errors
    
    suggest lifetime for closure parameter type when mismatch
    
    This is a draft PR, will add test cases later and be ready for review.
    
    This PR fixes rust-lang#105675 by adding a diagnostics suggestion. Also a partial fix to rust-lang#105528.
    
    The following code will have a compile error now:
    
    ```
    fn const_if_unit(input: bool) -> impl for<'a> FnOnce(&'a ()) -> usize {
        let x = |_| 1;
        x
    }
    ```
    
    Before this PR:
    
    ```
    error[E0308]: mismatched types
     --> src/lib.rs:3:5
      |
    3 |     x
      |     ^ one type is more general than the other
      |
      = note: expected trait `for<'a> FnOnce<(&'a (),)>`
                 found trait `FnOnce<(&(),)>`
    note: this closure does not fulfill the lifetime requirements
     --> src/lib.rs:2:13
      |
    2 |     let x = |_| 1;
      |             ^^^
    
    error: implementation of `FnOnce` is not general enough
     --> src/lib.rs:3:5
      |
    3 |     x
      |     ^ implementation of `FnOnce` is not general enough
      |
      = note: closure with signature `fn(&'2 ()) -> usize` must implement `FnOnce<(&'1 (),)>`, for any lifetime `'1`...
      = note: ...but it actually implements `FnOnce<(&'2 (),)>`, for some specific lifetime `'2`
    
    For more information about this error, try `rustc --explain E0308`.
    error: could not compile `rust-test` due to 2 previous errors
    ```
    
    After this PR:
    
    ```
    error[E0308]: mismatched types
     --> src/lib.rs:3:5
      |
    3 |     x
      |     ^ one type is more general than the other
      |
      = note: expected trait `for<'a> FnOnce<(&'a (),)>`
                 found trait `FnOnce<(&(),)>`
    note: this closure does not fulfill the lifetime requirements
     --> src/lib.rs:2:13
      |
    2 |     let x = |_| 1;
      |             ^^^
    help: consider changing the type of the closure parameters
      |
    2 |     let x = |_: &_| 1;
      |             ~~~~~~~
    
    error: implementation of `FnOnce` is not general enough
     --> src/lib.rs:3:5
      |
    3 |     x
      |     ^ implementation of `FnOnce` is not general enough
      |
      = note: closure with signature `fn(&'2 ()) -> usize` must implement `FnOnce<(&'1 (),)>`, for any lifetime `'1`...
      = note: ...but it actually implements `FnOnce<(&'2 (),)>`, for some specific lifetime `'2`
    
    For more information about this error, try `rustc --explain E0308`.
    error: could not compile `rust-test` due to 2 previous errors
    ```
    
    After applying the suggestion, it compiles. The suggestion might not always be correct as the generation procedure of that suggestion is quite simple...
    Dylan-DPC committed Apr 14, 2023
    Configuration menu
    Copy the full SHA
    b1c4662 View commit details
    Browse the repository at this point in the history
  5. Rollup merge of rust-lang#106249 - Ezrashaw:suggest-test-tool, r=jyn5…

    …14,albertlarsan68
    
    Create "suggested tests" tool in `rustbuild`
    
    Not the claimed person in rust-lang#97339 but:
    I've done a very rough implementation of this feature in-tree. I'm very new to `rustc` development (outside of docs) so some help would be greatly appreciated. The UI of this new subcommand obviously will change and I need some mentoring with the `--run` flag.
    
    r? ``@jyn514``
    Dylan-DPC committed Apr 14, 2023
    Configuration menu
    Copy the full SHA
    e94eeb0 View commit details
    Browse the repository at this point in the history
  6. Rollup merge of rust-lang#110158 - TDecking:obsolete_test, r=ChrisDenton

    Remove obsolete test case
    
    This test case was supposed to cover issue rust-lang#31109 at some point.
    It never did anything, as the issue was still open at the time of its creation.
    When the issue was resolved, the `issue31109` test case was created,
    making the existence of this test pointless.
    Dylan-DPC committed Apr 14, 2023
    Configuration menu
    Copy the full SHA
    69ab280 View commit details
    Browse the repository at this point in the history
  7. Rollup merge of rust-lang#110180 - lcnr:canonicalize, r=compiler-errors

    don't uniquify regions when canonicalizing
    
    uniquifying causes a bunch of issues, most notably it causes `AliasEq(<?x as Trait<'a>>::Assoc, <?x as Trait<'a>>::Assoc)` to result in ambiguity because both `normalizes-to` paths result in ambiguity and substs equate should trivially succeed but doesn't because we uniquified `'a` to two different regions.
    
    I originally added uniquification to make it easier to deal with requirement 6 from the dev-guide: https://rustc-dev-guide.rust-lang.org/solve/trait-solving.html#requirements
    
    > ### 6. Trait solving must be (free) lifetime agnostic
    >
    > Trait solving during codegen should have the same result as during typeck. As we erase
    > all free regions during codegen we must not rely on them during typeck. A noteworthy example
    > is special behavior for `'static`.
    
    cc rust-lang/rustc-dev-guide#1671
    
    Relying on regions being identical may cause ICE during MIR typeck, but even without this PR we can end up relying on that as type inference vars can resolve to types which contain an identical region. Let's land this and deal with any ICE that crop up as we go. Will look at this issue again before stabilization.
    
    r? `@compiler-errors`
    Dylan-DPC committed Apr 14, 2023
    Configuration menu
    Copy the full SHA
    41b4980 View commit details
    Browse the repository at this point in the history
  8. Rollup merge of rust-lang#110269 - scottmcm:sort-features, r=jyn514

    Add `tidy-alphabetical` to features in `core`
    
    So that people have to keep them sorted in future, rather than just sticking them on the end where they conflict more often.
    Dylan-DPC committed Apr 14, 2023
    Configuration menu
    Copy the full SHA
    219da44 View commit details
    Browse the repository at this point in the history
  9. Rollup merge of rust-lang#110276 - nnethercote:rm-BrAnon-Span, r=jack…

    …h726
    
    Remove all but one of the spans in `BoundRegionKind::BrAnon`
    
    There are only three places where `BoundRegionKind::BrAnon` uses `Some(span)` instead of `None`. Two of them are easy to remove, which this PR does.
    
    r? `@jackh726`
    Dylan-DPC committed Apr 14, 2023
    Configuration menu
    Copy the full SHA
    ed44074 View commit details
    Browse the repository at this point in the history
  10. Rollup merge of rust-lang#110298 - jmaargh:jmaargh/hypot-docs-edge-ca…

    …ses, r=thomcc
    
    Cover edge cases for {f32, f64}.hypot() docs
    
    Fixes rust-lang#88944
    
    The Euclidean distance is a more general way to express what these functions do, and covers the edge cases of zero and negative inputs.
    
    Does not cover the case of non-normal input values (as the [POSIX docs](https://pubs.opengroup.org/onlinepubs/9699919799.2008edition/) do), but the docs for the rest of the functions in these modules do not address this, I assumed it was not desired.
    Dylan-DPC committed Apr 14, 2023
    Configuration menu
    Copy the full SHA
    fad785f View commit details
    Browse the repository at this point in the history
  11. Rollup merge of rust-lang#110299 - kylematsuda:earlybinder-impl-subje…

    …ct, r=compiler-errors
    
    Switch to `EarlyBinder` for `impl_subject` query
    
    Part of the work to finish rust-lang#105779.
    
    Several queries `X` have a `bound_X` variant that wraps the output in `EarlyBinder`. This adds `EarlyBinder` to the return type of the `impl_subject` query and removes `bound_impl_subject`.
    
    r? `@lcnr`
    Dylan-DPC committed Apr 14, 2023
    Configuration menu
    Copy the full SHA
    8f7b5fc View commit details
    Browse the repository at this point in the history