Skip to content
Permalink
Tree: fe6d05a8b3
Commits on Sep 11, 2019
  1. Auto merge of #64154 - alexcrichton:std-backtrace, r=sfackler

    bors committed Sep 11, 2019
    std: Add a `backtrace` module
    
    This commit adds a `backtrace` module to the standard library, as
    designed in [RFC 2504]. The `Backtrace` type is intentionally very
    conservative, effectively only allowing capturing it and printing it.
    
    Additionally this commit also adds a `backtrace` method to the `Error`
    trait which defaults to returning `None`, as specified in [RFC 2504].
    More information about the design here can be found in [RFC 2504] and in
    the [tracking issue].
    
    Implementation-wise this is all based on the `backtrace` crate and very
    closely mirrors the `backtrace::Backtrace` type on crates.io. Otherwise
    it's pretty standard in how it handles everything internally.
    
    [RFC 2504]: https://github.com/rust-lang/rfcs/blob/master/text/2504-fix-error.md
    [tracking issue]: #53487
    
    cc #53487
  2. Auto merge of #64369 - Centril:rollup-g875ozi, r=Centril

    bors committed Sep 11, 2019
    Rollup of 6 pull requests
    
    Successful merges:
    
     - #64060 (Improve hygiene of `alloc::format!`)
     - #64072 (Replace file_stem by file_name in rustdoc markdown)
     - #64129 (vxWorks: set DEFAULT_MIN_STACK_SIZE to 256K and use min_stack to pass initial stack size to rtpSpawn)
     - #64188 (rustc: Allow the cdylib crate type with wasm32-wasi)
     - #64326 (Fixed documentation within c_str::from_ptr)
     - #64349 (documentation for AtomicPtr CAS operations)
    
    Failed merges:
    
    r? @ghost
  3. Rollup merge of #64349 - arnohaase:pr_documentation_atomicptr, r=cram…

    Centril committed Sep 11, 2019
    …ertj
    
    documentation for AtomicPtr CAS operations
    
    The examples in the documentation for AtomicPtr CAS operations only show code that does *not* perform the CAS operation. I suggest to change them so that they actually do exchange the AtomicPtr's value.
  4. Rollup merge of #64326 - hman523:master, r=joshtriplett

    Centril committed Sep 11, 2019
    Fixed documentation within c_str::from_ptr
    
    Fixed the documentation issue mentioned in #63590
  5. Rollup merge of #64188 - alexcrichton:wasi-cdylib, r=varkor

    Centril committed Sep 11, 2019
    rustc: Allow the cdylib crate type with wasm32-wasi
    
    The wasm32-wasi target respects configuration around `crt-static` in
    general, but is defaulted to being static. This interacted badly with
    code which validated the `cdylib` crate type for `wasm32-wasi`,
    erroneously saying that the `cdylib` crate type wasn't supported on
    `wasm32-wasi` by default. This commit sets the appropriate flag in
    `wasm32_wasi`'s target specification to indicate that the `cdylib` crate
    type is supported regardless of `crt-static`
    
    Closes #64187
  6. Rollup merge of #64129 - Wind-River:master_003, r=alexcrichton

    Centril committed Sep 11, 2019
    vxWorks: set DEFAULT_MIN_STACK_SIZE to 256K and use min_stack to pass initial stack size to rtpSpawn
    
    vxWorks: set DEFAULT_MIN_STACK_SIZE to 256K and use min_stack to pass initial stack size to rtpSpawn
    
    r? @alexcrichton
    cc @n-salim
  7. Rollup merge of #64072 - limira:patch-1, r=ollie27

    Centril committed Sep 11, 2019
    Replace file_stem by file_name in rustdoc markdown
    
    Before this PR, a file name like `some.file.md` will be output to a file named `some.html` with is not correct because the expected output file must be `some.file.html`
  8. Rollup merge of #64060 - petrochenkov:unstdhyg, r=tmandry

    Centril committed Sep 11, 2019
    Improve hygiene of `alloc::format!`
    
    `format` now uses `format_args` though a `__export` module, as described in #63687 (comment).
    
    Fixes #63687
Commits on Sep 10, 2019
  1. Merge pull request #19 from Wind-River/min_stack_size

    BaoshanPang committed Sep 10, 2019
    remove Copyright notic
  2. remove Copyright notic

    bpangWR committed Sep 10, 2019
  3. 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
  4. 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)
  5. 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
  6. 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.
  7. 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
  8. 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
  9. 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.
  10. Rollup merge of #63989 - yaahc:master, r=Manishearth

    Centril committed Sep 10, 2019
    Add Yaah to clippy toolstain notification list
  11. 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.
  12. 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)
  13. documentation for AtomicPtr CAS operations

    Arno Haase
    Arno Haase committed Sep 10, 2019
  14. rustc_mir: buffer -Zdump-mir output instead of pestering the kernel c…

    eddyb committed Sep 10, 2019
    …onstantly.
  15. 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>
  16. 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
  17. 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
  18. 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
  19. Rollup merge of #64318 - RalfJung:reference, r=ehuss

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

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

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

    hman523 committed Sep 10, 2019
  23. 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.
  24. Clarify E0507 to note Fn/FnMut relationship to borrowing

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

    Mark-Simulacrum committed Sep 10, 2019
    This better aligns with Cargo (CARGO_LOG) and rustc (RUSTC_LOG).
  26. Update added backticks around a function call

    hman523 and Centril committed Sep 10, 2019
    Co-Authored-By: Mazdak Farrokhzad <twingoow@gmail.com>
  27. 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
Older
You can’t perform that action at this time.