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 10 pull requests #89402

Closed
wants to merge 27 commits into from

Commits on Sep 10, 2021

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

Commits on Sep 14, 2021

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

    asquared31415 committed Sep 14, 2021
    Configuration menu
    Copy the full SHA
    05460d0 View commit details
    Browse the repository at this point in the history

Commits on Sep 23, 2021

  1. Add test

    estebank committed Sep 23, 2021
    Configuration menu
    Copy the full SHA
    b8deb93 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    072d107 View commit details
    Browse the repository at this point in the history

Commits on Sep 27, 2021

  1. lock types

    guswynn committed Sep 27, 2021
    Configuration menu
    Copy the full SHA
    0f9c349 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    4cc3297 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    5d4048b View commit details
    Browse the repository at this point in the history

Commits on Sep 28, 2021

  1. Configuration menu
    Copy the full SHA
    dea3ee1 View commit details
    Browse the repository at this point in the history
  2. Suggest similarly named assoc items in trait impls

    Previously, the compiler didn't suggest similarly named associated items
    unlike we do in many situations. This patch adds such diagnostics for
    associated functions, types and constants.
    hkmatsumoto committed Sep 28, 2021
    Configuration menu
    Copy the full SHA
    cef736f View commit details
    Browse the repository at this point in the history

Commits on Sep 29, 2021

  1. ref/refmut

    guswynn committed Sep 29, 2021
    Configuration menu
    Copy the full SHA
    cb8e83c View commit details
    Browse the repository at this point in the history
  2. Clean up unneeded explicit pointer cast

    The reference automatically coerces to a pointer. Writing an explicit
    cast here is slightly misleading because that's most commonly used when
    a pointer needs to be converted from one pointer type to another, e.g.
    `*const c_void` to `*const sigaction` or vice versa.
    dtolnay committed Sep 29, 2021
    Configuration menu
    Copy the full SHA
    e3e5ae9 View commit details
    Browse the repository at this point in the history
  3. fix(lint): don't suggest refutable patterns to "fix" irrefutable bind

    In function arguments and let bindings, do not suggest changing `C` to `Foo::C`
    unless `C` is the only variant of `Foo`, because it won't work.
    
    The general warning is still kept, because code like this is confusing.
    
    Fixes rust-lang#88730
    notriddle committed Sep 29, 2021
    Configuration menu
    Copy the full SHA
    6e973f0 View commit details
    Browse the repository at this point in the history
  4. remove outdated comment

    RalfJung committed Sep 29, 2021
    Configuration menu
    Copy the full SHA
    35f74c2 View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    268bb46 View commit details
    Browse the repository at this point in the history

Commits on Sep 30, 2021

  1. bootstrap: Update comment in config.library.toml.

    Downloading LLVM from CI works for all platforms now.
    BGR360 committed Sep 30, 2021
    Configuration menu
    Copy the full SHA
    1cf905f View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    098d862 View commit details
    Browse the repository at this point in the history
  3. Rollup merge of rust-lang#88782 - asquared31415:issue-79559, r=cjgillot

    Fix ICE when `start` lang item has wrong generics
    
    In my previous pr rust-lang#87875 I missed the requirements on the `start` lang item due to its relative difficulty to test and opting for more conservative estimates.  This fixes that by updating the requirement to be exactly one generic type.
    
    The `start` lang item should have exactly one generic type for the return type of the `main` fn ptr passed to it.  I believe having zero would previously *sometimes* compile (often with the use of `fn() -> ()` as the fn ptr but it was likely UB to call if the return type of `main` was not `()` as far as I know) however it also sometimes would not for various errors including ICEs and LLVM errors depending on exact situations.  Having more than 1 generic has always failed with an ICE because only the one generic type is expected and provided.
    
    Fixes rust-lang#79559, fixes rust-lang#73584, fixes rust-lang#83117 (all duplicates)
    Relevant to rust-lang#9307
    
    r? ``@cjgillot``
    Manishearth committed Sep 30, 2021
    Configuration menu
    Copy the full SHA
    e7fe12c View commit details
    Browse the repository at this point in the history
  4. Rollup merge of rust-lang#88820 - hlopko:add_pie_relocation_model, r=…

    …petrochenkov
    
    Add `pie` as another `relocation-model` value
    
    MCP: rust-lang/compiler-team#461
    Manishearth committed Sep 30, 2021
    Configuration menu
    Copy the full SHA
    c65a1ea View commit details
    Browse the repository at this point in the history
  5. Rollup merge of rust-lang#88828 - FabianWolff:issue-88585, r=dtolnay

    Use `libc::sigaction()` instead of `sys::signal()` to prevent a deadlock
    
    Fixes rust-lang#88585. POSIX [specifies](https://man7.org/linux/man-pages/man3/fork.3p.html) that after forking,
    > to avoid errors, the child process may only execute async-signal-safe operations until such time as one of the exec functions is called.
    
    Rust's standard library does not currently adhere to this, as evidenced by rust-lang#88585. The child process calls [`sys::signal()`](https://github.com/rust-lang/rust/blob/7bf0736e130e2203c58654f7353dbf9575e49d5c/library/std/src/sys/unix/android.rs#L76), which on Android calls [`libc::dlsym()`](https://github.com/rust-lang/rust/blob/7bf0736e130e2203c58654f7353dbf9575e49d5c/library/std/src/sys/unix/weak.rs#L101), which is [**not**](https://man7.org/linux/man-pages/man7/signal-safety.7.html) async-signal-safe, and in fact causes a deadlock in the example in rust-lang#88585.
    
    I think the easiest solution here would be to just call `libc::sigaction()` instead, which [is](https://man7.org/linux/man-pages/man7/signal-safety.7.html) async-signal-safe, provides the functionality we need, and is apparently available on all Android versions because it is also used e.g. [here](https://github.com/rust-lang/rust/blob/7bf0736e130e2203c58654f7353dbf9575e49d5c/library/std/src/sys/unix/stack_overflow.rs#L112-L114).
    Manishearth committed Sep 30, 2021
    Configuration menu
    Copy the full SHA
    57897da View commit details
    Browse the repository at this point in the history
  6. Rollup merge of rust-lang#89202 - estebank:infer-call-type, r=oli-obk

    Resolve infered types when complaining about unexpected call type
    
    ```
    error[E0618]: expected function, found `{integer}`
      --> $DIR/call-block.rs:2:13
       |
    LL |     let _ = {42}();
       |             ^^^^--
       |             |
       |             call expression requires function
    ```
    instead of
    ```
    error[E0618]: expected function, found `_`
      --> $DIR/call-block.rs:2:13
       |
    LL |     let _ = {42}();
       |             ^^^^--
       |             |
       |             call expression requires function
    ```
    Manishearth committed Sep 30, 2021
    Configuration menu
    Copy the full SHA
    ff7b1c2 View commit details
    Browse the repository at this point in the history
  7. Rollup merge of rust-lang#89248 - hkmatsumoto:suggest-similarly-named…

    …-assoc-items, r=estebank
    
    Suggest similarly named associated items in trait impls
    
    Fix rust-lang#85942
    
    Previously, the compiler didn't suggest similarly named associated items unlike we do in many situations. This patch adds such diagnostics for associated functions, types, and constants.
    Manishearth committed Sep 30, 2021
    Configuration menu
    Copy the full SHA
    36bea20 View commit details
    Browse the repository at this point in the history
  8. Rollup merge of rust-lang#89303 - guswynn:std_suspend, r=dtolnay

    Add `#[must_not_suspend]` to some types in std
    
    I am not sure what else should have it? `Ref`?
    Manishearth committed Sep 30, 2021
    Configuration menu
    Copy the full SHA
    3806cc0 View commit details
    Browse the repository at this point in the history
  9. Rollup merge of rust-lang#89306 - devnexen:haiku_ncpus, r=nagisa

    thread: implements available_concurrency on haiku
    Manishearth committed Sep 30, 2021
    Configuration menu
    Copy the full SHA
    549bdb6 View commit details
    Browse the repository at this point in the history
  10. Rollup merge of rust-lang#89314 - notriddle:notriddle/lint-fix-enum-v…

    …ariant-match, r=davidtwco
    
    fix(lint): don't suggest refutable patterns to "fix" irrefutable bind
    
    In function arguments and let bindings, do not suggest changing `C` to `Foo::C` unless `C` is the only variant of `Foo`, because it won't work.
    
    The general warning is still kept, because code like this is confusing.
    
    Fixes rust-lang#88730
    
    p.s. `src/test/ui/lint/lint-uppercase-variables.rs` already tests the one-variant case.
    Manishearth committed Sep 30, 2021
    Configuration menu
    Copy the full SHA
    a489c29 View commit details
    Browse the repository at this point in the history
  11. Rollup merge of rust-lang#89370 - RalfJung:ctfe-aggregate-rvalue, r=o…

    …li-obk
    
    CTFE: tweak aggregate rvalue handling
    
    I have not looked at this code in ages... I think Miri does not even hit it, since (most?) aggregate rvalues are lowered somewhere in the MIR pipeline, but CTFE does hit it.
    
    So this adds some extra sanity assertions, and removes a ZST special case -- ZST should only be special cased fairly late (when the actual memory access happens); e.g. `!` is a ZST and we still want `copy_op` to be called for it since it will perform validation (and raise UB, since `!` is never valid).
    Manishearth committed Sep 30, 2021
    Configuration menu
    Copy the full SHA
    a71f822 View commit details
    Browse the repository at this point in the history
  12. Rollup merge of rust-lang#89392 - BGR360:master, r=jyn514

    bootstrap: Update comment in config.library.toml.
    
    Downloading LLVM from CI works for all platforms now.
    
    All other templates in this directory already have the proper comment. Seems this one was neglected.
    Manishearth committed Sep 30, 2021
    Configuration menu
    Copy the full SHA
    38aa5f5 View commit details
    Browse the repository at this point in the history