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

Merged
merged 36 commits into from
Mar 10, 2021
Merged

Rollup of 10 pull requests #82953

merged 36 commits into from
Mar 10, 2021

Commits on Feb 18, 2021

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

Commits on Feb 22, 2021

  1. process::unix: Handle other wait statuses in ExitStatus as Display

    Currently, on Nightly, this panics:
    
    ```
    use std::process::ExitStatus;
    use std::os::unix::process::ExitStatusExt;
    
    fn main() {
        let st = ExitStatus::from_raw(0x007f);
        println!("st = {}", st);
    }
    ```
    
    This is because the impl of Display assumes that if .code() is None,
    .signal() must be Some.  That was a false assumption, although it was
    true with buggy code before
      5b1316f
      unix ExitStatus: Do not treat WIFSTOPPED as WIFSIGNALED
    
    This is not likely to have affected many people in practice, because
    `Command` will never produce such a wait status (`ExitStatus`).
    
    Signed-off-by: Ian Jackson <[email protected]>
    ijackson committed Feb 22, 2021
    Configuration menu
    Copy the full SHA
    fbd575a View commit details
    Browse the repository at this point in the history

Commits on Feb 23, 2021

  1. process::unix: Test wait status formatting

    Signed-off-by: Ian Jackson <[email protected]>
    ijackson committed Feb 23, 2021
    Configuration menu
    Copy the full SHA
    d8cfd56 View commit details
    Browse the repository at this point in the history
  2. ExitStatus: Improve documentation re wait status vs exit status

    The use of `ExitStatus` as the Rust type name for a Unix *wait
    status*, not an *exit status*, is very confusing, but sadly probably
    too late to change.
    
    This area is confusing enough in Unix already (and many programmers
    are already confuxed).  We can at least document it.
    
    I chose *not* to mention the way shells like to exit with signal
    numbers, thus turning signal numbers into exit statuses.  This is only
    relevant for Rust programs using `std::process` if they run shells.
    
    Signed-off-by: Ian Jackson <[email protected]>
    ijackson committed Feb 23, 2021
    Configuration menu
    Copy the full SHA
    4bb8425 View commit details
    Browse the repository at this point in the history

Commits on Mar 4, 2021

  1. ExitStatus stop signal display test: Make it Linux only

    MacOS uses a different representation.
    
    Signed-off-by: Ian Jackson <[email protected]>
    ijackson committed Mar 4, 2021
    Configuration menu
    Copy the full SHA
    67cfc22 View commit details
    Browse the repository at this point in the history
  2. ExitStatus unknown wait status test: Make it Linux only

    If different unices have different bit patterns for WIFSTOPPED and
    WIFCONTINUED then simply being glibc is probably not good enough for
    this rather ad-hoc test to work.  Do it on Linux only.
    
    Signed-off-by: Ian Jackson <[email protected]>
    ijackson committed Mar 4, 2021
    Configuration menu
    Copy the full SHA
    a240ff5 View commit details
    Browse the repository at this point in the history
  3. ExitStatus tests: Make less legible to satisfy "tidy"

    I strongly disagree with tidy in this case but AIUI there is no way to
    override it.
    
    Signed-off-by: Ian Jackson <[email protected]>
    ijackson committed Mar 4, 2021
    Configuration menu
    Copy the full SHA
    8e4433a View commit details
    Browse the repository at this point in the history
  4. Add powerpc-unknown-openbsd target

    Add powerpc-unknown-openbsd target
    
    * Fix missing abi::endian crate
    * Missing platform-support.md
    Yn0ga committed Mar 4, 2021
    Configuration menu
    Copy the full SHA
    ccca767 View commit details
    Browse the repository at this point in the history

Commits on Mar 5, 2021

  1. Build rustdoc for run-make tests, not just run-make-fulldeps

    Rustdoc almost never needs a full stage 2 compiler, and requiring
    rustdoc tests to be in run-make-fulldeps adds a lot of compile time for
    no reason.
    jyn514 committed Mar 5, 2021
    Configuration menu
    Copy the full SHA
    a05a890 View commit details
    Browse the repository at this point in the history

Commits on Mar 8, 2021

  1. Configuration menu
    Copy the full SHA
    7e3ebe7 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    1cc8c4d View commit details
    Browse the repository at this point in the history
  3. ⬆️ rust-analyzer

    lnicola committed Mar 8, 2021
    Configuration menu
    Copy the full SHA
    50bdd51 View commit details
    Browse the repository at this point in the history

Commits on Mar 9, 2021

  1. Always compile the fragile wait status test cases, just run them cond…

    …itionally
    
    Co-authored-by: David Tolnay <[email protected]>
    ijackson and dtolnay authored Mar 9, 2021
    Configuration menu
    Copy the full SHA
    11ca644 View commit details
    Browse the repository at this point in the history
  2. Update README.md to use the correct cmake version number

    LLVM requires at least cmake 3.13.4 and cmake is only required to build
    LLVM.
    
    Also closes rust-lang#42555
    wesleywiser committed Mar 9, 2021
    Configuration menu
    Copy the full SHA
    52d9792 View commit details
    Browse the repository at this point in the history
  3. Bump tracing-tree dependency

    oli-obk committed Mar 9, 2021
    Configuration menu
    Copy the full SHA
    62f2d72 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    0fdc07e View commit details
    Browse the repository at this point in the history
  5. Update fmt and use of memcpy

    I'm still not totally sure if this is the right way to implement the memcpy, but that portion
    compiles correctly now. Now to fix the compile errors everywhere else :).
    JulianKnodt committed Mar 9, 2021
    Configuration menu
    Copy the full SHA
    72c734d View commit details
    Browse the repository at this point in the history
  6. Update match branches

    This updates all places where match branches check on StatementKind or UseContext.
    This doesn't properly implement them, but adds TODOs where they are, and also adds some best
    guesses to what they should be in some cases.
    JulianKnodt committed Mar 9, 2021
    Configuration menu
    Copy the full SHA
    89f45ed View commit details
    Browse the repository at this point in the history
  7. Update interpret step

    JulianKnodt committed Mar 9, 2021
    Configuration menu
    Copy the full SHA
    37a6c04 View commit details
    Browse the repository at this point in the history
  8. Update cranelift

    JulianKnodt committed Mar 9, 2021
    Configuration menu
    Copy the full SHA
    982382d View commit details
    Browse the repository at this point in the history
  9. Replace todos with impls

    Changed to various implementations, copying the style of prior function calls in places I was
    unsure of.
    
    Also one minor style nit.
    JulianKnodt committed Mar 9, 2021
    Configuration menu
    Copy the full SHA
    049045b View commit details
    Browse the repository at this point in the history
  10. Change CopyNonOverlapping::codegen_ssa

    Fixes copy_non_overlapping codegen_ssa to properly handle pointees,
    and use bytes instead of elem count
    JulianKnodt committed Mar 9, 2021
    Configuration menu
    Copy the full SHA
    845e4b5 View commit details
    Browse the repository at this point in the history
  11. Build StKind::CopyOverlapping

    This replaces where it was previously being constructed in intrinsics, with direct construction
    of the Statement.
    JulianKnodt committed Mar 9, 2021
    Configuration menu
    Copy the full SHA
    d4ae9ff View commit details
    Browse the repository at this point in the history
  12. Switch to changing cp_non_overlap in tform

    It was suggested to lower this in MIR instead of ssa, so do that instead.
    JulianKnodt committed Mar 9, 2021
    Configuration menu
    Copy the full SHA
    217ff6b View commit details
    Browse the repository at this point in the history
  13. Don't hardcode the v1 prelude in diagnostics.

    Instead of looking for `std::prelude::v1`, this changes it to look for
    `std::prelude::<anything>`.
    m-ou-se committed Mar 9, 2021
    Configuration menu
    Copy the full SHA
    1e4d804 View commit details
    Browse the repository at this point in the history
  14. Clean up todos

    Also add some span_bugs where it is unreachable
    JulianKnodt committed Mar 9, 2021
    Configuration menu
    Copy the full SHA
    4bceb29 View commit details
    Browse the repository at this point in the history
  15. Rollup merge of rust-lang#77511 - JulianKnodt:st_kind_cpy, r=oli-obk

    Add StatementKind::CopyNonOverlapping
    
    Implements rust-lang/compiler-team#348
    
    r? `@nagisa`
    JohnTitor authored Mar 9, 2021
    Configuration menu
    Copy the full SHA
    25fd504 View commit details
    Browse the repository at this point in the history
  16. Rollup merge of rust-lang#79208 - LeSeulArtichaut:stable-unsafe_op_in…

    …_unsafe_fn, r=nikomatsakis
    
    Stabilize `unsafe_op_in_unsafe_fn` lint
    
    This makes it possible to override the level of the `unsafe_op_in_unsafe_fn`, as proposed in rust-lang#71668 (comment).
    
    Tracking issue: rust-lang#71668
    r? ```@nikomatsakis``` cc ```@SimonSapin``` ```@RalfJung```
    
    # Stabilization report
    
    This is a stabilization report for `#![feature(unsafe_block_in_unsafe_fn)]`.
    
    ## Summary
    
    Currently, the body of unsafe functions is an unsafe block, i.e. you can perform unsafe operations inside.
    
    The `unsafe_op_in_unsafe_fn` lint, stabilized here, can be used to change this behavior, so performing unsafe operations in unsafe functions requires an unsafe block.
    
    For now, the lint is allow-by-default, which means that this PR does not change anything without overriding the lint level.
    
    For more information, see [RFC 2585](https://github.com/rust-lang/rfcs/blob/master/text/2585-unsafe-block-in-unsafe-fn.md)
    
    ### Example
    
    ```rust
    // An `unsafe fn` for demonstration purposes.
    // Calling this is an unsafe operation.
    unsafe fn unsf() {}
    
    // #[allow(unsafe_op_in_unsafe_fn)] by default,
    // the behavior of `unsafe fn` is unchanged
    unsafe fn allowed() {
        // Here, no `unsafe` block is needed to
        // perform unsafe operations...
        unsf();
    
        // ...and any `unsafe` block is considered
        // unused and is warned on by the compiler.
        unsafe {
            unsf();
        }
    }
    
    #[warn(unsafe_op_in_unsafe_fn)]
    unsafe fn warned() {
        // Removing this `unsafe` block will
        // cause the compiler to emit a warning.
        // (Also, no "unused unsafe" warning will be emitted here.)
        unsafe {
            unsf();
        }
    }
    
    #[deny(unsafe_op_in_unsafe_fn)]
    unsafe fn denied() {
        // Removing this `unsafe` block will
        // cause a compilation error.
        // (Also, no "unused unsafe" warning will be emitted here.)
        unsafe {
            unsf();
        }
    }
    ```
    JohnTitor authored Mar 9, 2021
    Configuration menu
    Copy the full SHA
    c46f948 View commit details
    Browse the repository at this point in the history
  17. Rollup merge of rust-lang#82411 - ijackson:fix-exitstatus, r=dtolnay

    Fixes to ExitStatus and its docs
    
    * On Unix, properly display every possible wait status (and don't panic on weird values)
    * In the documentation, be clear and consistent about "exit status" vs "wait status".
    JohnTitor authored Mar 9, 2021
    Configuration menu
    Copy the full SHA
    74e74e9 View commit details
    Browse the repository at this point in the history
  18. Rollup merge of rust-lang#82733 - Yn0ga:master, r=estebank

    Add powerpc-unknown-openbsd target
    JohnTitor authored Mar 9, 2021
    Configuration menu
    Copy the full SHA
    761a2b3 View commit details
    Browse the repository at this point in the history
  19. Rollup merge of rust-lang#82802 - jyn514:build-rustdoc-fullmake, r=Ma…

    …rk-Simulacrum
    
    Build rustdoc for run-make tests, not just run-make-fulldeps
    
    Rustdoc almost never needs a full stage 2 compiler, and requiring
    rustdoc tests to be in run-make-fulldeps adds a lot of compile time for
    no reason.
    
    This is the same change from rust-lang#81197, but separated into its own PR. I ran into this again today while working on rust-lang/docs.rs#1302.
    r? ```@Mark-Simulacrum```
    JohnTitor authored Mar 9, 2021
    Configuration menu
    Copy the full SHA
    48a393e View commit details
    Browse the repository at this point in the history
  20. Rollup merge of rust-lang#82849 - camsteffen:option-get-or-default, r…

    …=joshtriplett
    
    Add Option::get_or_default
    
    Tracking issue: rust-lang#82901
    
    The original issue is rust-lang#55042, which was closed, but for an invalid reason (see discussion there). Opening this to reconsider (I hope that's okay). It seems like the only gap for `Option` being "entry-like".
    
    I ran into a need for this method where I had a `Vec<Option<MyData>>` and wanted to do `vec[n].get_or_default().my_data_method()`. Using an `Option` as an inner component of a data structure is probably where the need for this will normally arise.
    JohnTitor authored Mar 9, 2021
    Configuration menu
    Copy the full SHA
    1c3fea2 View commit details
    Browse the repository at this point in the history
  21. Rollup merge of rust-lang#82908 - lnicola:rust-analyzer-2021-03-08, r…

    …=jonas-schievink
    
    ⬆️ rust-analyzer
    JohnTitor authored Mar 9, 2021
    Configuration menu
    Copy the full SHA
    641b971 View commit details
    Browse the repository at this point in the history
  22. Rollup merge of rust-lang#82937 - wesleywiser:update_cmake_version_in…

    …_readme, r=Mark-Simulacrum
    
    Update README.md to use the correct cmake version number
    
    LLVM requires at least cmake 3.13.4 and cmake is only required to build
    LLVM.
    
    https://www.llvm.org/docs/CMake.html
    
    Also closes rust-lang#42555
    JohnTitor authored Mar 9, 2021
    Configuration menu
    Copy the full SHA
    8e6383d View commit details
    Browse the repository at this point in the history
  23. Rollup merge of rust-lang#82938 - oli-obk:tracing_tree_bump, r=Mark-S…

    …imulacrum
    
    Bump tracing-tree dependency
    
    This bump fixes two small rendering things that were annoying me:
    
    * The first level didn't have an opening line
    * When wraparound happens, there was no warning, the levels just disappeared. Now there is a line that shows that wraparound is happening
    
    See https://github.com/davidbarsky/tracing-tree/pull/31/files for how the look changes
    JohnTitor authored Mar 9, 2021
    Configuration menu
    Copy the full SHA
    56b5393 View commit details
    Browse the repository at this point in the history
  24. Rollup merge of rust-lang#82942 - m-ou-se:diagnostics-hardcoded-prelu…

    …de-v1, r=estebank
    
    Don't hardcode the `v1` prelude in diagnostics, to allow for new preludes.
    
    Instead of looking for `std::prelude::v1`, this changes the two places where that was hardcoded to look for `std::prelude::<anything>` instead.
    
    This is needed for rust-lang#82217.
    
    r? `@estebank`
    JohnTitor authored Mar 9, 2021
    Configuration menu
    Copy the full SHA
    9dc82fa View commit details
    Browse the repository at this point in the history