Permalink
Switch branches/tags
Nothing to show
Commits on Jun 19, 2017
  1. Auto merge of #39409 - pnkfelix:mir-borrowck2, r=nikomatsakis

    bors committed Jun 19, 2017
    MIR EndRegion Statements (was MIR dataflow for Borrows)
    
    This PR adds an `EndRegion` statement to MIR (where the `EndRegion` statement is what terminates a borrow).
    
    An earlier version of the PR implemented a dataflow analysis on borrow expressions, but I am now factoring that into a follow-up PR so that reviewing this one is easier. (And also because there are some revisions I want to make to that dataflow code, but I want this PR to get out of WIP status...)
    
    This is a baby step towards MIR borrowck. I just want to get the review process going while I independently work on the remaining steps.
  2. Auto merge of #42737 - fhahn:rust-log-crash, r=michaelwoerister

    bors committed Jun 19, 2017
    rustc: Check if def_path_hash_to_def_id is populated before accessing.
    
    Without this patch, there is an ICE when running rustc with
    RUST_LOG=debug. This patch updates extract_def_id to check if the map
    has been populated before accessing it. This fixes the problem, but
    maybe we do not need to compute the incremental hashes maps in the first
    place when we are not in incremental mode?
  3. Auto merge of #42722 - est31:master, r=Mark-Simulacrum

    bors committed Jun 19, 2017
    Remove SUMMARY.md of the unstable book as its autogenerated
    
    Its being autogenerated now, as of PR #42612.
    It seems I forgot to remove it.
    
    Also, sort the entries of SUMMARY.md alphabetically.
  4. Auto merge of #42740 - arielb1:bad-arm-2, r=alexcrichton

    bors committed Jun 19, 2017
    Backport fixes to LLVM 4.0 ARM codegen bugs
    
    So ARM had quite a few codegen bugs on LLVM 4.0 which are fixed on LLVM
    trunk. This backports 5 of them:
    r297871 - ARM: avoid clobbering register in v6 jump-table expansion.
        - fixes rust-lang/rust#42248
    r294949 - [Thumb-1] TBB generation: spot redefinitions of index
    r295816 - [ARM] Fix constant islands pass.
    r300870 - [Thumb-1] Fix corner cases for compressed jump tables
    r302650 - [IfConversion] Add missing check in
    IfConversion/canFallThroughTo
        - unblocks rust-lang/rust#39409
    
    r? @alexcrichton
    beta-nominating because this fixes regressions introduced by LLVM 4.0.
Commits on Jun 18, 2017
  1. Auto merge of #42735 - arielb1:generic-closure-fn, r=eddyb

    bors committed Jun 18, 2017
    collector: apply param substs to closures cast to fn items
    
    Fixes #42718.
    
    r? @eddyb
    beta-nominating because serious ICE in newly-stabilized feature.
  2. Backport fixes to LLVM 4.0 ARM codegen bugs

    arielb1 committed Jun 18, 2017
    So ARM had quite a few codegen bugs on LLVM 4.0 which are fixed on LLVM
    trunk. This backports 5 of them:
    r297871 - ARM: avoid clobbering register in v6 jump-table expansion.
        - fixes rust-lang/rust#42248
    r294949 - [Thumb-1] TBB generation: spot redefinitions of index
    r295816 - [ARM] Fix constant islands pass.
    r300870 - [Thumb-1] Fix corner cases for compressed jump tables
    r302650 - [IfConversion] Add missing check in
    IfConversion/canFallThroughTo
        - unblocks rust-lang/rust#39409
  3. Remove SUMMARY.md of the unstable book as its autogenerated

    est31 committed Jun 17, 2017
    Its being autogenerated now, as of PR #42612.
    It seems I forgot to remove it.
  4. Auto merge of #42676 - alexcrichton:update-cargo, r=Mark-Simulacrum

    bors committed Jun 18, 2017
    Update cargo/rls submodules and dependencies
    
    Brings in a few regression fixes on the Cargo side, updates the rls to work
    with the newer Cargo, and also updates other crates.io dependencies to pull in
    various bug fixes and such.
  5. Auto merge of #42738 - Mark-Simulacrum:rollup, r=Mark-Simulacrum

    bors committed Jun 18, 2017
    Rollup of 7 pull requests
    
    - Successful merges: #42695, #42714, #42720, #42723, #42730, #42731, #42734
    - Failed merges: #42722
  6. Rollup merge of #42734 - MaloJaffre:tests, r=Mark-Simulacrum

    Mark-Simulacrum committed on GitHub Jun 18, 2017
    Add tests for various issues
    
    Fixes #11740.
    Fixes #19601.
    Fixes #22603
    Fixes #22789.
    Fixes #26614.
    
    r? @Mark-Simulacrum.
  7. Rollup merge of #42731 - MaloJaffre:issue-24889, r=Mark-Simulacrum

    Mark-Simulacrum committed on GitHub Jun 18, 2017
    Add test for #24889
    
    Fixes #24889.
    r? @Mark-Simulacrum (Thanks for the instructions).
  8. Rollup merge of #42730 - VBChunguk:boxed-wild-pattern, r=eddyb

    Mark-Simulacrum committed on GitHub Jun 18, 2017
    Use T as the subpattern type of Box<T>
    
    The subpattern type of boxes being nil does not make sense because of box patterns. They should have their inner type as the subpattern type.
    
    Fixes #42679, which describes ICE caused by the bug.
  9. Rollup merge of #42723 - ubsan:master, r=QuietMisdreavus

    Mark-Simulacrum committed on GitHub Jun 18, 2017
    Add `_` to the list of keywords
    
    also, make sure the keyword table is correctly spaced
    
    note: the reference also needs to be updated. This is not the only way to do this in the grammar, but it's my preferred way.
  10. Rollup merge of #42720 - murarth:deprecated-collections, r=alexcrichton

    Mark-Simulacrum committed on GitHub Jun 18, 2017
    Reintroduce deprecated `collections` crate
  11. Rollup merge of #42714 - alexbool:master, r=alexcrichton

    Mark-Simulacrum committed on GitHub Jun 18, 2017
    Inline StrSearcher::haystack()
  12. Rollup merge of #42695 - Mark-Simulacrum:fix-verbose, r=alexcrichton

    Mark-Simulacrum committed on GitHub Jun 18, 2017
    Use custom cargo/rustc paths when parsing flags.
    
    Fixes rust-lang#41779, probably also rust-lang#42543 (I think they're duplicates).
    
    I'm not entirely happy with the implementation, since it means we parse the configuration twice, but it's the minimal solution. I think the other choice is to move both calls to Config::parse inside Flags::parse and merge them, but I don't know if that's a good idea.
    
    r? @alexcrichton
  13. Add tests for various issues

    MaloJaffre committed Jun 18, 2017
    Fixes #11740.
    Fixes #19601.
    Fixes #22603
    Fixes #22789.
    Fixes #26614.
    
    r? @Mark-Simulacrum.
  14. rustc: Check if def_path_hash_to_def_id is populated before accessing…

    fhahn committed Jun 18, 2017
    … it.
    
    Without this patch, there is an ICE when running rustc with
    RUST_LOG=debug. This patch updates extract_def_id to check if the map
    has been populated before accessing it. This fixes the problem, but
    maybe we do not need to compute the incremental hashes maps in the first
    place when we are not in incremental mode?
  15. Add test for #24889

    MaloJaffre committed Jun 18, 2017
  16. Auto merge of #42593 - ibabushkin:on-demand-external-source, r=eddyb

    bors committed Jun 18, 2017
    Implement lazy loading of external crates' sources. Fixes #38875
    
    Fixes #38875. This is a follow-up to #42507. When a (now correctly translated) span from an external crate is referenced in a error, warning or info message, we still don't have the source code being referenced.
    Since stuffing the source in the serialized metadata of an rlib is extremely wasteful, the following scheme has been implemented:
    
    * File maps now contain a source hash that gets serialized as well.
    * When a span is rendered in a message, the source hash in the corresponding file map(s) is used to try and load the source from the corresponding file on disk. If the file is not found or the hashes don't match, the failed attempt is recorded (and not retried).
    * The machinery fetching source lines from file maps is augmented to use the lazily loaded external source as a secondary fallback for file maps belonging to external crates.
    
    This required a small change to the expected stderr of one UI test (it now renders a span, where previously was none).
    
    Further work can be done based on this - some of the machinery previously used to hide external spans is possibly obsolete and the hashing code can be reused in different places as well.
    
    r? @eddyb
  17. Use T as the subpattern type of Box<T>

    tirr-c committed Jun 18, 2017
    The subpattern type of boxes being nil does not make sense because of
    box patterns. They should have their inner type as the subpattern type.
Commits on Jun 17, 2017
  1. Add `_` to the list of keywords

    ubsan committed Jun 17, 2017
    also, make sure the keyword table is correctly spaced
  2. Update cargo/rls submodules and dependencies

    alexcrichton committed Jun 15, 2017
    Brings in a few regression fixes on the Cargo side, updates the rls to work
    with the newer Cargo, and also updates other crates.io dependencies to pull in
    various bug fixes and such.
  3. Auto merge of #42649 - estebank:if-cond, r=nikomatsakis

    bors committed Jun 17, 2017
    Report error for assignment in `if` condition
    
    For code like `if x = 3 {}`, output:
    
    ```
    error[E0308]: mismatched types
      --> $DIR/issue-17283.rs:25:8
       |
    25 |     if x = x {
       |        ^^^^^
       |        |
       |        help: did you mean to compare equality? `x == x`
       |        expected bool, found ()
       |
       = note: expected type `bool`
                  found type `()`
    ```
    
    Fix #40926.
  4. Auto merge of #42659 - nikomatsakis:issue-42545-type-inference-regres…

    bors committed Jun 17, 2017
    …sion, r=eddyb
    
    Issue 42545 type inference regression
    
    Fix an ICE that results from type inference obligations being dropped on the floor. Specifically, when computing the implied bounds, we would sometimes do normalizations that get stored in the cache, but we would *not* try to solve the resulting obligations. This can sometimes leave type variables uninferred. Occurs only rarely because implied bounds are processed in regionck which happens very late, so usually the cache is populated already from somewhere else.
    
    I think that the *proper* fix here is probably lazy normalization. This fix is intentionally very narrow both because this code is on the chopping block and because this needs a beta backport.
    
    r? @eddyb
    cc @arielb1
  5. Inline StrSearcher::haystack()

    alexbool committed Jun 17, 2017
  6. Auto merge of #42712 - frewsxcv:rollup, r=frewsxcv

    bors committed Jun 17, 2017
    Rollup of 3 pull requests
    
    - Successful merges: #42660, #42662, #42705
    - Failed merges:
  7. Rollup merge of #42705 - est31:master, r=alexcrichton

    frewsxcv committed on GitHub Jun 17, 2017
    Introduce tidy lint to check for inconsistent tracking issues
    
    This PR
    * Refactors the collect_lib_features function to work in a
          non-checking mode (no bad pointer needed, and list of
          lang features).
    * Introduces checking whether unstable/stable tags for a
          given feature have inconsistent tracking issues, as in,
          multiple tracking issues per feature.
    * Fixes such inconsistencies throughout the codebase.
  8. Rollup merge of #42662 - Mark-Simulacrum:doc-fix, r=estebank

    frewsxcv committed on GitHub Jun 17, 2017
    Correct note as to location of section.
    
    Fixes #37226.
  9. Rollup merge of #42660 - steveklabnik:gh42632, r=frewsxcv

    frewsxcv committed on GitHub Jun 17, 2017
    update book with redirect Fixes
    
    Fixes #42632