Skip to content
Permalink
Tree: 34e82a7b79
Commits on Sep 10, 2019
  1. Auto merge of #64354 - Centril:rollup-oaq0xoi, r=Centril

    bors committed Sep 10, 2019
    Rollup of 8 pull requests
    
    Successful merges:
    
     - #63786 (Make `abs`, `wrapping_abs`, `overflowing_abs` const functions)
     - #63989 (Add Yaah to clippy toolstain notification list)
     - #64256 (test/c-variadic: Fix patterns on powerpc64)
     - #64292 (lowering: extend temporary lifetimes around await)
     - #64311 (lldb: avoid mixing "Hit breakpoint" message with other output.)
     - #64330 (Clarify E0507 to note Fn/FnMut relationship to borrowing)
     - #64331 (Changed instant is earlier to instant is later)
     - #64344 (rustc_mir: buffer -Zdump-mir output instead of pestering the kernel constantly.)
    
    Failed merges:
    
    r? @ghost
  2. Rollup merge of #64344 - eddyb:mir-opt-stop-shouting-at-the-kernel, r…

    Centril committed Sep 10, 2019
    …=oli-obk
    
    rustc_mir: buffer -Zdump-mir output instead of pestering the kernel constantly.
    
    This brings `mir-opt` tests from `197s` (over 3 minutes!) to `2.85s`, on my build server.
    That's a nice speedup of about `69x` and so it definitely fixes #58485, for me.
    
    It's such a beginner mistake I feel like maybe `clippy` should lint against it?
    (cc @Manishearth @oli-obk)
  3. Rollup merge of #64331 - hman523:fix-64322, r=varkor

    Centril committed Sep 10, 2019
    Changed instant is earlier to instant is later
    
    Fixed the documentation issue from #64322
  4. Rollup merge of #64330 - Mark-Simulacrum:clarify-E0507, r=GuillaumeGomez

    Centril committed Sep 10, 2019
    Clarify E0507 to note Fn/FnMut relationship to borrowing
    
    Fixes #37904.
  5. Rollup merge of #64311 - eddyb:lldb-python3, r=michaelwoerister

    Centril committed Sep 10, 2019
    lldb: avoid mixing "Hit breakpoint" message with other output.
    
    This is to get `src/test/debuginfo/lexical-scopes-in-block-expression.rs` working.
    It used to work like a week ago, and the main change that happened was I switched from Python 2 to Python 3 (I don't remember why, but I did get rid of the build dir entirely, and it fixed something else).
    
    The error was:
    ```
    error: line not found in debugger output: [...]$27 = 10
    ```
    
    Relevant part of the output:
    ```
    print val
    (long) $26 = 15
    print ten
    (long) $27 = 10 Hit breakpoint 15.1: where = a`lexical_scopes_in_block_expression::main::hcdd5c3caa9166e73 + 1223 at lexical-scopes-in-block-expression.rs:504:4, address = 0x00005555555556e7, resolved, hit count = 1
    Hit breakpoint 16.1: where = a`lexical_scopes_in_block_expression::main::hcdd5c3caa9166e73 + 631 at lexical-scopes-in-block-expression.rs:510:8, address = 0x0000555555555497, resolved, hit count = 1
    ```
    
    There are most `print` commands and their outputs before, and more `Hit breakpoint` messages afterwards, so I assume what happens is the `Hit breakpoint` messages should be interleaved but somehow they ended up being buffered after all of the other output.
    
    As a stopgap measure I'm adding a newline before each `Hit breakpoint` so they don't end up on the same line as the last `print` output (which breaks our pattern-matching).
    
    r? @michaelwoerister
  6. Rollup merge of #64292 - davidtwco:issue-63832-await-temporary-lifeti…

    Centril committed Sep 10, 2019
    …mes, r=matthewjasper
    
    lowering: extend temporary lifetimes around await
    
    Fixes #63832.
    
    r? @matthewjasper
    cc @nikomatsakis
  7. Rollup merge of #64256 - smaeul:patch/powerpc64-tests, r=alexcrichton

    Centril committed Sep 10, 2019
    test/c-variadic: Fix patterns on powerpc64
    
    On architectures such as powerpc64 that use extend_integer_width_to in
    their C ABI processing, integer parameters shorter than the native
    register width will be annotated with the ArgAttribute::SExt or
    ArgAttribute::ZExt attribute, and that attribute will be included in the
    generated LLVM IR.
    
    In this test, all relevant parameters are `i32`, which will get the
    `signext` annotation on the relevant 64-bit architectures. Match both
    the annotated and non-annotated case, but enforce that the annotation is
    applied consistently.
  8. Rollup merge of #63989 - yaahc:master, r=Manishearth

    Centril committed Sep 10, 2019
    Add Yaah to clippy toolstain notification list
  9. Rollup merge of #63786 - tspiteri:const-abs, r=alexcrichton

    Centril committed Sep 10, 2019
    Make `abs`, `wrapping_abs`, `overflowing_abs` const functions
    
    This makes `abs`, `wrapping_abs` and `overflowing_abs` const functions like #58044 makes `wrapping_neg` and `overflowing_neg` const functions.
    
    `abs` is made const by returning `(self ^ -1) - -1` = `!self + 1` = `-self` for negative numbers and `(self ^ 0) - 0` = `self` for non-negative numbers. The subexpression `self >> ($BITS - 1)` evaluates to `-1` for negative numbers and `0` otherwise. The subtraction overflows when `self` is `min_value()`, as we would be subtracting `max_value() - -1`; this is when `abs` should overflow.
    
    `wrapping_abs` and `overflowing_abs` make use of `wrapping_sub` and `overflowing_sub` instead of the subtraction operator.
  10. Auto merge of #60387 - Goirad:test-expansion, r=ollie27

    bors committed Sep 10, 2019
    Allow cross-compiling doctests
    
    This PR allows doctest to receive a --runtool argument, as well as possibly many --runtool-arg arguments, which are then used to run cross compiled doctests.
    Also, functionality has been added to rustdoc to allow it to skip testing doctests on a per-target basis, in the same way that compiletest does it. For example, tagging the doctest with "ignore-sgx" disables testing on any targets that contain "sgx". A plain "ignore" still skips testing on all targets.
    
    See [here](rust-lang/cargo#6892) for the companion PR in the cargo project that extends functionality in Cargo so that it passes the appropriate parameters to rustdoc when cross compiling and testing doctests.
    
    Part of [#6460](rust-lang/cargo#6460)
  11. rustc_mir: buffer -Zdump-mir output instead of pestering the kernel c…

    eddyb committed Sep 10, 2019
    …onstantly.
  12. lowering: extend temporary lifetimes around await

    davidtwco committed Sep 8, 2019
    This commit changes the HIR lowering around `await` so that temporary
    lifetimes are extended. Previously, await was lowered as:
    
    ```rust
    {
        let mut pinned = future;
        loop {
            match ::std::future::poll_with_tls_context(unsafe {
                <::std::pin::Pin>::new_unchecked(&mut pinned)
            }) {
                ::std::task::Poll::Ready(result) => break result,
                ::std::task::Poll::Pending => {}
            }
            yield ();
        }
    }
    ```
    
    With this commit, await is lowered as:
    
    ```rust
    match future {
        mut pinned => loop {
            match ::std::future::poll_with_tls_context(unsafe {
                <::std::pin::Pin>::new_unchecked(&mut pinned)
            }) {
                ::std::task::Poll::Ready(result) => break result,
                ::std::task::Poll::Pending => {}
            }
            yield ();
        }
    }
    ```
    
    However, this change has the following side-effects:
    
    - All temporaries in future will be considered to live across a
      yield for the purpose of auto-traits.
    - Borrowed temporaries in future are likely to be considered to be live
      across the yield for the purpose of the generator transform.
    
    Signed-off-by: David Wood <david@davidtw.co>
  13. Auto merge of #64329 - Mark-Simulacrum:rustdoc-log, r=GuillaumeGomez

    bors committed Sep 10, 2019
    Switch rustdoc logging to RUSTDOC_LOG
    
    This better aligns with Cargo (CARGO_LOG) and rustc (RUSTC_LOG).
    
    Fixes #64309
    
    r? @GuillaumeGomez
  14. Auto merge of #64333 - Centril:rollup-llhhr82, r=Centril

    bors committed Sep 10, 2019
    Rollup of 4 pull requests
    
    Successful merges:
    
     - #64307 (Update clippy)
     - #64308 (Update miri submodule)
     - #64318 (update reference)
     - #64323 (Always show backtrace on Fuchsia)
    
    Failed merges:
    
    r? @ghost
  15. Rollup merge of #64323 - cramertj:fuchsia-rust-backtrace-noop, r=alex…

    Centril committed Sep 10, 2019
    …crichton
    
    Always show backtrace on Fuchsia
    
    r? @alexcrichton
    
    cc @JakeEhrlich
  16. Rollup merge of #64318 - RalfJung:reference, r=ehuss

    Centril committed Sep 10, 2019
    update reference
    
    r? @Centril
  17. Rollup merge of #64308 - oli-obk:miri, r=oli-obk

    Centril committed Sep 10, 2019
    Update miri submodule
    
    fixes #64244
  18. Rollup merge of #64307 - lzutao:clippy-up, r=oli-obk

    Centril committed Sep 10, 2019
    Update clippy
    
    Closes #64215
    
    r? @Manishearth
    cc @oli-obk
  19. Changed instant is earlier to instant is later

    hman523 committed Sep 10, 2019
  20. test/c-variadic: Fix patterns on powerpc64

    smaeul committed Sep 3, 2019
    On architectures such as powerpc64 that use extend_integer_width_to in
    their C ABI processing, integer parameters shorter than the native
    register width will be annotated with the ArgAttribute::SExt or
    ArgAttribute::ZExt attribute, and that attribute will be included in the
    generated LLVM IR.
    
    In this test, all relevant parameters are `i32`, which will get the
    `signext` annotation on the relevant 64-bit architectures. Match both
    the annotated and non-annotated case, but enforce that the annotation is
    applied consistently.
  21. Clarify E0507 to note Fn/FnMut relationship to borrowing

    Mark-Simulacrum committed Sep 10, 2019
  22. Switch rustdoc logging to RUSTDOC_LOG

    Mark-Simulacrum committed Sep 10, 2019
    This better aligns with Cargo (CARGO_LOG) and rustc (RUSTC_LOG).
  23. Auto merge of #64321 - Centril:rollup-jsj5tpl, r=Centril

    bors committed Sep 10, 2019
    Rollup of 5 pull requests
    
    Successful merges:
    
     - #63806 (Upgrade rand to 0.7)
     - #64054 (Always emit unresolved import errors and hide unused import lint)
     - #64279 (Bump RLS and Rustfmt submodules to use rustc-ap-* v583)
     - #64317 (Update LLVM submodule)
     - #64320 (Update version of `rustc-std-workspace-*` crates)
    
    Failed merges:
    
    r? @ghost
Commits on Sep 9, 2019
  1. Always show backtrace on Fuchsia

    cramertj committed Sep 9, 2019
  2. Rollup merge of #64320 - alexcrichton:update-patch, r=RalfJung

    Centril committed Sep 9, 2019
    Update version of `rustc-std-workspace-*` crates
    
    This commit updates the version of the `rustc-std-workspace-*` crates
    in-tree which are used in `[patch]`. This will guarantee that Cargo will
    select these versions even if minor updates are published to crates.io
    because otherwise a newer version on crates.io would be preferred which
    misses the point of `[patch]`!
  3. Rollup merge of #64317 - nikic:bump-llvm-3, r=alexcrichton

    Centril committed Sep 9, 2019
    Update LLVM submodule
    
    Updates the LLVM submodule to current LLVM 9 HEAD.
    
    Fixes #63918.
    Fixes #63791.
    
    r? @alexcrichton
  4. Rollup merge of #64279 - Xanewok:bump-rustc-ap, r=tmandry

    Centril committed Sep 9, 2019
    Bump RLS and Rustfmt submodules to use rustc-ap-* v583
    
    Closes #64180
    Closes #64179
    
    r? @topecongiro
  5. Rollup merge of #64054 - estebank:unused-import-is-to-eager, r=petroc…

    Centril committed Sep 9, 2019
    …henkov
    
    Always emit unresolved import errors and hide unused import lint
    
    Fix #63724.
    
    r? @petrochenkov
  6. Rollup merge of #63806 - mati865:rand, r=alexcrichton

    Centril committed Sep 9, 2019
    Upgrade rand to 0.7
    
    Also upgrades `getrandom` to avoid bug encountered by #61393 which bumps libc to `0.2.62`.
  7. Update version of `rustc-std-workspace-*` crates

    alexcrichton committed Sep 9, 2019
    This commit updates the version of the `rustc-std-workspace-*` crates
    in-tree which are used in `[patch]`. This will guarantee that Cargo will
    select these versions even if minor updates are published to crates.io
    because otherwise a newer version on crates.io would be preferred which
    misses the point of `[patch]`!
  8. update reference

    RalfJung committed Sep 9, 2019
  9. Update LLVM submodule

    nikic committed Sep 9, 2019
  10. Auto merge of #64313 - Centril:rollup-7w8b67g, r=Centril

    bors committed Sep 9, 2019
    Rollup of 5 pull requests
    
    Successful merges:
    
     - #63468 (Resolve attributes in several places)
     - #64121 (Override `StepBy::{try_fold, try_rfold}`)
     - #64278 (check git in bootstrap.py)
     - #64306 (Fix typo in config.toml.example)
     - #64312 (Unify escape usage)
    
    Failed merges:
    
    r? @ghost
  11. cargo update -p rustfmt-nightly

    Xanewok committed Sep 8, 2019
Older
You can’t perform that action at this time.