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 16 pull requests #62294

Closed
wants to merge 63 commits into from

Commits on Jun 16, 2019

  1. in which the non_ascii_idents lint appears (RFC 2457)

    RFC 2457 declares: "A `non_ascii_idents` lint is added to the
    compiler. This lint is allow by default."
    zackmdavis committed Jun 16, 2019
    Configuration menu
    Copy the full SHA
    0ae61d8 View commit details
    Browse the repository at this point in the history

Commits on Jun 24, 2019

  1. Configuration menu
    Copy the full SHA
    bb26e07 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    0533f12 View commit details
    Browse the repository at this point in the history
  3. format a bit

    RalfJung committed Jun 24, 2019
    Configuration menu
    Copy the full SHA
    8a4573f View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    4159b27 View commit details
    Browse the repository at this point in the history

Commits on Jun 25, 2019

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

    RalfJung committed Jun 25, 2019
    Configuration menu
    Copy the full SHA
    d3e1bf9 View commit details
    Browse the repository at this point in the history

Commits on Jun 26, 2019

  1. Configuration menu
    Copy the full SHA
    7262e64 View commit details
    Browse the repository at this point in the history
  2. Add DataflowResultsCursor

    tmandry committed Jun 26, 2019
    Configuration menu
    Copy the full SHA
    4a8a552 View commit details
    Browse the repository at this point in the history
  3. Add RequiresStorage pass to decide which locals to save in generators

    This avoids reserving storage in generators for locals that are moved
    out of (and not re-initialized) prior to yield points.
    tmandry committed Jun 26, 2019
    Configuration menu
    Copy the full SHA
    9969417 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    c932518 View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    8465daf View commit details
    Browse the repository at this point in the history

Commits on Jun 27, 2019

  1. Configuration menu
    Copy the full SHA
    b2aeb0f View commit details
    Browse the repository at this point in the history
  2. std: Move a process test out of libstd

    This commit moves a test out of libstd which is causing deadlocks on
    musl on CI. Looks like the recent update in musl versions brings in some
    internal updates to musl which makes `setgid` and `setuid` invalid to
    call after a `fork` in a multithreaded program. The issue seen here is
    that the child thread was attempting to grab a lock held by a
    nonexistent thread, meaning that the child process simply deadlocked
    causing the whole test to deadlock.
    
    This commit moves the test to its own file with no threads which should
    work.
    alexcrichton committed Jun 27, 2019
    Configuration menu
    Copy the full SHA
    2a37582 View commit details
    Browse the repository at this point in the history

Commits on Jun 28, 2019

  1. Configuration menu
    Copy the full SHA
    a0e5fcf View commit details
    Browse the repository at this point in the history
  2. Add Vec::leak

    cramertj committed Jun 28, 2019
    Configuration menu
    Copy the full SHA
    9527565 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    11b09e7 View commit details
    Browse the repository at this point in the history
  4. Remove Clone requirement

    tmandry committed Jun 28, 2019
    Configuration menu
    Copy the full SHA
    aee1357 View commit details
    Browse the repository at this point in the history

Commits on Jun 29, 2019

  1. Configuration menu
    Copy the full SHA
    d8ed2e7 View commit details
    Browse the repository at this point in the history
  2. 1 Configuration menu
    Copy the full SHA
    e2d7df5 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    209bde1 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    1aff8af View commit details
    Browse the repository at this point in the history
  5. Remove io::Result from syntax::print

    Since we're now writing directly to the vector, there's no need to
    thread results through the whole printing infrastructure
    Mark-Simulacrum committed Jun 29, 2019
    Configuration menu
    Copy the full SHA
    da5c835 View commit details
    Browse the repository at this point in the history
  6. Remove unused import

    Mark-Simulacrum committed Jun 29, 2019
    Configuration menu
    Copy the full SHA
    ff27756 View commit details
    Browse the repository at this point in the history
  7. Inline rust_printer

    Mark-Simulacrum committed Jun 29, 2019
    Configuration menu
    Copy the full SHA
    d26c4b7 View commit details
    Browse the repository at this point in the history
  8. Configuration menu
    Copy the full SHA
    6d4c642 View commit details
    Browse the repository at this point in the history
  9. Configuration menu
    Copy the full SHA
    dfb9f5b View commit details
    Browse the repository at this point in the history
  10. Configuration menu
    Copy the full SHA
    3e83728 View commit details
    Browse the repository at this point in the history

Commits on Jun 30, 2019

  1. Update rustfmt to 1.3.1

    topecongiro committed Jun 30, 2019
    Configuration menu
    Copy the full SHA
    9e2714a View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    0ffb643 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    e4e7eb2 View commit details
    Browse the repository at this point in the history

Commits on Jul 1, 2019

  1. Configuration menu
    Copy the full SHA
    ac4e109 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    4e184ec View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    01d8121 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    a3dda49 View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    69e8a77 View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    856b427 View commit details
    Browse the repository at this point in the history
  7. Configuration menu
    Copy the full SHA
    1552d8d View commit details
    Browse the repository at this point in the history
  8. Configuration menu
    Copy the full SHA
    17c2d6b View commit details
    Browse the repository at this point in the history
  9. Configuration menu
    Copy the full SHA
    0bee0fb View commit details
    Browse the repository at this point in the history
  10. Configuration menu
    Copy the full SHA
    37f6aa7 View commit details
    Browse the repository at this point in the history
  11. Revert changes to the standard library

    Moved to its own PR
    jeremystucki committed Jul 1, 2019
    Configuration menu
    Copy the full SHA
    4c221b3 View commit details
    Browse the repository at this point in the history
  12. Configuration menu
    Copy the full SHA
    7e5f6c7 View commit details
    Browse the repository at this point in the history
  13. Configuration menu
    Copy the full SHA
    25a9206 View commit details
    Browse the repository at this point in the history
  14. Configuration menu
    Copy the full SHA
    c6374cf View commit details
    Browse the repository at this point in the history
  15. Configuration menu
    Copy the full SHA
    734d31a View commit details
    Browse the repository at this point in the history
  16. Configuration menu
    Copy the full SHA
    a68e2c7 View commit details
    Browse the repository at this point in the history

Commits on Jul 2, 2019

  1. Rollup merge of rust-lang#61871 - Zoxc:no-lift-branch, r=eddyb

    Don't use lift to detect local types
    
    This overlaps with rust-lang#61392.
    
    r? @eddyb
    Manishearth committed Jul 2, 2019
    Configuration menu
    Copy the full SHA
    e58fbbb View commit details
    Browse the repository at this point in the history
  2. Rollup merge of rust-lang#61883 - zackmdavis:non_ascii_idents_lint, r…

    …=Manishearth
    
    `non_ascii_idents` lint (part of RFC 2457)
    
    RFC 2457 [declares](https://github.com/rust-lang/rfcs/blob/121bbeff500c3274cea22c7e0ca176274d592646/text/2457-non-ascii-idents.md): "A `non_ascii_idents` lint is added to the compiler. This lint is allow by default."
    
    (Part of rust-lang#55467.)
    
    r? @Manishearth
    Manishearth committed Jul 2, 2019
    Configuration menu
    Copy the full SHA
    af4b62b View commit details
    Browse the repository at this point in the history
  3. Rollup merge of rust-lang#61922 - tmandry:moar-generator-optimization…

    …, r=matthewjasper
    
    Don't store locals that have been moved from in generators
    
    This avoids reserving storage in generators for locals that are moved
    out of (and not re-initialized) prior to yield points. Fixes rust-lang#59123.
    
    This adds a new dataflow analysis, `RequiresStorage`, to determine whether the storage of a local can be destroyed without being observed by the program. The rules are:
    
    1. StorageLive(x) => mark x live
    2. StorageDead(x) => mark x dead
    3. If a local is moved from, _and has never had its address taken_, mark it dead
    4. If (any part of) a local is initialized, mark it live'
    
    This is used to determine whether to save a local in the generator object at all, as well as which locals can be overlapped in the generator layout.
    
    Here's the size in bytes of all testcases included in the change, before and after the change:
    
    async fn test    |Size before |Size after
    -----------------|------------|----------
    single           | 1028       | 1028
    single_with_noop | 2056       | 1032
    joined           | 5132       | 3084
    joined_with_noop | 8208       | 3084
    
    generator test              |Size before |Size after
    ----------------------------|------------|----------
    move_before_yield           | 1028       | 1028
    move_before_yield_with_noop | 2056       | 1032
    overlap_move_points         | 3080       | 2056
    
    ## Future work
    
    Note that there is a possible extension to this optimization, which modifies rule 3 to read: "If a local is moved from, _**and either has never had its address taken, or is Freeze and has never been mutably borrowed**_, mark it dead." This was discussed at length in rust-lang#59123 and then rust-lang#61849. Because this would cause some behavior to be UB which was not UB before, it's a step that needs to be taken carefully.
    
    A more immediate priority for me is inlining `std::mem::size_of_val(&x)` so it becomes apparent that the address of `x` is not taken. This way, using `size_of_val` to look at the size of your inner futures does not affect the size of your outer future.
    
    cc @cramertj @eddyb @Matthias247 @nikomatsakis @RalfJung @Zoxc
    Manishearth committed Jul 2, 2019
    Configuration menu
    Copy the full SHA
    2a2d71f View commit details
    Browse the repository at this point in the history
  4. Rollup merge of rust-lang#61995 - eddyb:hir-sep-ptr, r=petrochenkov

    rustc: use a separate copy of P for HIR than for AST.
    
    Note: this currently includes/is based on top of rust-lang#61987.
    
    Like rust-lang#61968, but goes one step further and uses a separate `P<...>` for the HIR, with no `Clone`, or the ability to mutate after allocation.
    There is still `into_inner`/`into_iter`, but they're only exposed for `hir::lowering`, and they would take more work to untangle.
    
    r? @petrochenkov cc @rust-lang/compiler
    Manishearth committed Jul 2, 2019
    Configuration menu
    Copy the full SHA
    e3204bc View commit details
    Browse the repository at this point in the history
  5. Rollup merge of rust-lang#62026 - mati865:deps, r=alexcrichton

    Final nail in `rand 0.4` coffin
    
    Closes rust-lang#57724
    Manishearth committed Jul 2, 2019
    Configuration menu
    Copy the full SHA
    e988c42 View commit details
    Browse the repository at this point in the history
  6. Rollup merge of rust-lang#62039 - jeremystucki:needless_lifetimes, r=…

    …eddyb
    
    Remove needless lifetimes (rustc)
    Manishearth committed Jul 2, 2019
    Configuration menu
    Copy the full SHA
    1381760 View commit details
    Browse the repository at this point in the history
  7. Rollup merge of rust-lang#62099 - Mark-Simulacrum:syntax-print-clean-…

    …2, r=eddyb
    
    Remove io::Result from syntax::print
    
    Since we're now writing directly to the vector, there's no need to
    thread results through the whole printing infrastructure
    Manishearth committed Jul 2, 2019
    Configuration menu
    Copy the full SHA
    77124e3 View commit details
    Browse the repository at this point in the history
  8. Rollup merge of rust-lang#62103 - RalfJung:debug-assert, r=alexcrichton

    Add debug assertions to write_bytes and copy*
    
    Looks like @nitnelave  went MIA in rust-lang#58783, so I am re-submitting their PR, tweaked just a bit. I took care to preserve commit authorship.
    
    Cc rust-lang#53871
    Manishearth committed Jul 2, 2019
    Configuration menu
    Copy the full SHA
    7982092 View commit details
    Browse the repository at this point in the history
  9. Rollup merge of rust-lang#62133 - petrochenkov:norustc, r=eddyb

    Feature gate `rustc` attributes harder
    
    Fixes rust-lang#62116
    Manishearth committed Jul 2, 2019
    Configuration menu
    Copy the full SHA
    62b38c1 View commit details
    Browse the repository at this point in the history
  10. Rollup merge of rust-lang#62161 - GuillaumeGomez:add-missing-tryfrom-…

    …links, r=docs
    
    Add missing links for TryFrom docs
    
    r? @rust-lang/docs
    Manishearth committed Jul 2, 2019
    Configuration menu
    Copy the full SHA
    b9d4b3b View commit details
    Browse the repository at this point in the history
  11. Rollup merge of rust-lang#62177 - Centril:move-some-compile-fail-test…

    …s, r=petrochenkov
    
    Move some tests in src/test/compile-fail -> src/test/ui
    
    This is a subset of rust-lang#62113.
    
    Hopefully everything here sticks, but if it doesn't I'll remove tests until it does.
    
    r? @petrochenkov
    Manishearth committed Jul 2, 2019
    Configuration menu
    Copy the full SHA
    42d0eb5 View commit details
    Browse the repository at this point in the history
  12. Rollup merge of rust-lang#62183 - alexcrichton:fix-tests, r=nikomatsakis

    std: Move a process test out of libstd
    
    This commit moves a test out of libstd which is causing deadlocks on
    musl on CI. Looks like the recent update in musl versions brings in some
    internal updates to musl which makes `setgid` and `setuid` invalid to
    call after a `fork` in a multithreaded program. The issue seen here is
    that the child thread was attempting to grab a lock held by a
    nonexistent thread, meaning that the child process simply deadlocked
    causing the whole test to deadlock.
    
    This commit moves the test to its own file with no threads which should
    work.
    Manishearth committed Jul 2, 2019
    Configuration menu
    Copy the full SHA
    99d52f7 View commit details
    Browse the repository at this point in the history
  13. Rollup merge of rust-lang#62186 - GuillaumeGomez:add-missing-type-lin…

    …ks-into, r=docs
    
    Add missing type urls in Into trait
    
    r? @rust-lang/docs
    Manishearth committed Jul 2, 2019
    Configuration menu
    Copy the full SHA
    179ed23 View commit details
    Browse the repository at this point in the history
  14. Configuration menu
    Copy the full SHA
    91376ec View commit details
    Browse the repository at this point in the history
  15. Rollup merge of rust-lang#62199 - cclauss:patch-1, r=nikomatsakis

    import gdb for explicit access to gdb.current_objfile()
    Manishearth committed Jul 2, 2019
    Configuration menu
    Copy the full SHA
    eef6248 View commit details
    Browse the repository at this point in the history
  16. Configuration menu
    Copy the full SHA
    fddcb19 View commit details
    Browse the repository at this point in the history