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 9 pull requests #42345

Closed
wants to merge 24 commits into from
Closed

Rollup of 9 pull requests #42345

wants to merge 24 commits into from

Commits on May 23, 2017

  1. Introduce 'run-pass' header to 'ui' tests in compiletest. Fix issue r…

    …ust-lang#36516.
    
    The 'run-pass' header cause a 'ui' test to execute the result. It is used
    to test the lint output, at the same time ensure those lints won't cause
    the source code to become compile-fail.
    
    12 run-pass/run-pass-fulldeps tests gained the header and are moved to
    ui/ui-fulldeps. After this move, no run-pass/run-pass-fulldeps tests should
    rely on the compiler's JSON message. This allows us to stop passing
    `--error-format json` in run-pass tests, thus fixing rust-lang#36516.
    kennytm committed May 23, 2017
    Configuration menu
    Copy the full SHA
    fa62a0c View commit details
    Browse the repository at this point in the history

Commits on May 24, 2017

  1. compiletest: Force directive to be first complete word in header comm…

    …ent.
    
    Refactored some related code to take advantage of this change.
    kennytm committed May 24, 2017
    Configuration menu
    Copy the full SHA
    15edf4f View commit details
    Browse the repository at this point in the history

Commits on May 25, 2017

  1. Lower ? to Try instead of Carrier

    The easy parts of RFC 1859.  (Just the trait and the lowering, none of
    the error message improvements nor the insta-stable impl for Option.)
    scottmcm committed May 25, 2017
    Configuration menu
    Copy the full SHA
    ecde1e1 View commit details
    Browse the repository at this point in the history

Commits on May 30, 2017

  1. Configuration menu
    Copy the full SHA
    eeebfd6 View commit details
    Browse the repository at this point in the history
  2. Add RLS to .pkg installer

    efyang committed May 30, 2017
    Configuration menu
    Copy the full SHA
    7c36273 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    f3b29d3 View commit details
    Browse the repository at this point in the history
  4. ARMv5 needs +strict-align

    Without that flag, LLVM generates unaligned memory access instructions, which are not allowed on ARMv5.
    
    For example, the 'hello world' example from `cargo --new` failed with:
    ```
    $ ./hello
    Hello, world!
    thread 'main' panicked at 'assertion failed: end <= len', src/libcollections/vec.rs:1113
    note: Run with `RUST_BACKTRACE=1` for a backtrace.
    ```
    
    I traced this error back to the following assembler code in `BufWriter::flush_buf`:
    ```
        6f44:       e28d0018        add     r0, sp, rust-lang#24
    [...]
        6f54:       e280b005        add     fp, r0, rust-lang#5
    [...]
        7018:       e5cd001c        strb    r0, [sp, rust-lang#28]
        701c:       e1a0082a        lsr     r0, sl, rust-lang#16
        7020:       03a01001        moveq   r1, #1
        7024:       e5cb0002        strb    r0, [fp, rust-lang#2]
        7028:       e1cba0b0        strh    sl, [fp]
    ```
    
    Note that `fp` points to `sp + 29`, so the three `str*`-instructions should fill up a 32bit - value at `sp + 28`, which is later used as the value `n` in `Ok(n) => written += n`. This doesn't work on ARMv5 as the `strh` can't write to the unaligned contents of `fp`, so the upper bits of `n` won't get cleared, leading to the assertion failure in Vec::drain.
    
    With `+strict-align`, the code works as expected.
    jannic committed May 30, 2017
    Configuration menu
    Copy the full SHA
    4450807 View commit details
    Browse the repository at this point in the history
  5. Support VS 2017

    brson committed May 30, 2017
    Configuration menu
    Copy the full SHA
    068a3ba View commit details
    Browse the repository at this point in the history
  6. wip

    brson committed May 30, 2017
    Configuration menu
    Copy the full SHA
    594f597 View commit details
    Browse the repository at this point in the history
  7. Add new error code

    GuillaumeGomez committed May 30, 2017
    Configuration menu
    Copy the full SHA
    a333be7 View commit details
    Browse the repository at this point in the history

Commits on May 31, 2017

  1. Configuration menu
    Copy the full SHA
    62989c1 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    7a87469 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    3119e63 View commit details
    Browse the repository at this point in the history
  4. Upgrade ProjectionTy's Name to a DefId

    Part of rust-lang#42171, in preparation for downgrading the contained `TraitRef` to
    only its `substs`.
    tbg committed May 31, 2017
    Configuration menu
    Copy the full SHA
    e5e664f View commit details
    Browse the repository at this point in the history
  5. rustdoc: Cleanup associated const value rendering

    Rather than (ab)using Debug for outputting the type in plain text use the
    alternate format parameter which already does exactly that. This fixes
    type parameters for example which would output raw HTML.
    
    Also cleans up adding parens around references to trait objects.
    ollie27 committed May 31, 2017
    Configuration menu
    Copy the full SHA
    86ea93e View commit details
    Browse the repository at this point in the history

Commits on Jun 1, 2017

  1. Rollup merge of rust-lang#41968 - kennytm:fix-unreadable-json-test-ou…

    …tput-36516, r=nikomatsakis
    
    Introduce 'run-pass' header to 'ui' tests in compiletest. Fix issue rust-lang#36516.
    
    <del>`ui-run` test is a combination of `ui` test and `run-pass` test. It is used to test lint output.</del>
    
    Added support of `// run-pass` header to `ui` tests.
    
    The compiler message of each test must match the corresponding `*.stderr` file like the traditional `ui` tests. Additionally, the compiled output must be executed successfully like the `run-pass` test.
    
    12 `run-pass`/`run-pass-fulldeps` tests are moved to `ui`/`ui-fulldeps` plus the headers. After this move, no `run-pass`/`run-pass-fulldeps` tests should rely on the compiler's JSON message. This allows us to stop passing `--error-format json` in run-pass tests, thus fixing rust-lang#36516.
    frewsxcv committed Jun 1, 2017
    Configuration menu
    Copy the full SHA
    9c6d6d8 View commit details
    Browse the repository at this point in the history
  2. Rollup merge of rust-lang#42225 - brson:vs2017, r=brson

    Support VS 2017
    
    Fixes rust-lang#38584
    
    This replaces all the MSVC linker logic with that from the 'gcc' crate. The code looks the same, but there could be regressions.
    
    I've only tested this with x86_64.
    
    r? @alexcrichton
    cc @vadimcn @retep998
    frewsxcv committed Jun 1, 2017
    Configuration menu
    Copy the full SHA
    0e8b9a8 View commit details
    Browse the repository at this point in the history
  3. Rollup merge of rust-lang#42275 - scottmcm:try-trait, r=nikomatsakis

    Lower `?` to `Try` instead of `Carrier`
    
    The easy parts of rust-lang/rfcs#1859, whose FCP completed without further comments.
    
    Just the trait and the lowering -- neither the error message improvements nor the insta-stable impl for Option nor exhaustive docs.
    
    Based on a [github search](https://github.com/search?l=rust&p=1&q=question_mark_carrier&type=Code&utf8=%E2%9C%93), this will break the following:
    
    - https://github.com/pfpacket/rust-9p/blob/00206e34c680198a0ac7c2f066cc2954187d4fac/src/serialize.rs#L38
    - https://github.com/peterdelevoryas/bufparse/blob/b1325898f4fc2c67658049196c12da82548af350/src/result.rs#L50
    
    The other results appear to be files from libcore or its tests.  I could also leave Carrier around after stage0 and `impl<T:Carrier> Try for T` if that would be better.
    
    r? @nikomatsakis
    
    Edit: Oh, and it might accidentally improve perf, based on rust-lang#37939 (comment), since `Try::into_result` for `Result` is an obvious no-op, unlike `Carrier::translate`.
    frewsxcv committed Jun 1, 2017
    Configuration menu
    Copy the full SHA
    90cbfa3 View commit details
    Browse the repository at this point in the history
  4. Rollup merge of rust-lang#42286 - ollie27:rustdoc_assoc_const, r=Guil…

    …laumeGomez
    
    rustdoc: Cleanup associated const value rendering
    
    Rather than (ab)using Debug for outputting the type in plain text use the
    alternate format parameter which already does exactly that. This fixes
    type parameters for example which would output raw HTML.
    
    Also cleans up adding parens around references to trait objects.
    frewsxcv committed Jun 1, 2017
    Configuration menu
    Copy the full SHA
    675454a View commit details
    Browse the repository at this point in the history
  5. Rollup merge of rust-lang#42297 - tschottdorf:proj-ty, r=nikomatsakis

    Upgrade ProjectionTy's Name to a DefId
    
    Part of rust-lang#42171, in preparation for downgrading the contained `TraitRef` to
    only its `substs`.
    
    Some inline questions in the diff. Look for `FIXME(tschottdorf)`. These comments
    should be addressed before merging.
    frewsxcv committed Jun 1, 2017
    Configuration menu
    Copy the full SHA
    b3947f8 View commit details
    Browse the repository at this point in the history
  6. Rollup merge of rust-lang#42302 - GuillaumeGomez:new-error-codes-next…

    …, r=Susurrus
    
    New error codes next
    
    Part rust-lang#42229.
    To be merged after rust-lang#42264.
    
    cc @Susurrus
    frewsxcv committed Jun 1, 2017
    Configuration menu
    Copy the full SHA
    0381fc7 View commit details
    Browse the repository at this point in the history
  7. Rollup merge of rust-lang#42306 - efyang:rls-packaging, r=alexcrichton

    Add the RLS to .exe, .msi, and .pkg installers
    
    This directly addresses issue rust-lang#42157, adding the RLS as a non-default component in the mentioned installers. The windows installers appear to have the right functionality added, but I don't have a machine that runs OSX, so it would be great if someone could test whether my .pkg commit adds the RLS correctly. The final commit also fixes some formatting issues I'd noticed while working on the installers, but I don't know if that's within the scope of this PR, so input would be appreciated.
    frewsxcv committed Jun 1, 2017
    Configuration menu
    Copy the full SHA
    b517eb0 View commit details
    Browse the repository at this point in the history
  8. Rollup merge of rust-lang#42314 - jannic:patch-1, r=japaric

    ARMv5 needs +strict-align
    
    Without that flag, LLVM generates unaligned memory access instructions, which are not allowed on ARMv5.
    
    For example, the 'hello world' example from `cargo --new` failed with:
    ```
    $ ./hello
    Hello, world!
    thread 'main' panicked at 'assertion failed: end <= len', src/libcollections/vec.rs:1113
    note: Run with `RUST_BACKTRACE=1` for a backtrace.
    ```
    
    I traced this error back to the following assembler code in `BufWriter::flush_buf`:
    ```
        6f44:       e28d0018        add     r0, sp, rust-lang#24
    [...]
        6f54:       e280b005        add     fp, r0, rust-lang#5
    [...]
        7018:       e5cd001c        strb    r0, [sp, rust-lang#28]
        701c:       e1a0082a        lsr     r0, sl, rust-lang#16
        7020:       03a01001        moveq   r1, #1
        7024:       e5cb0002        strb    r0, [fp, rust-lang#2]
        7028:       e1cba0b0        strh    sl, [fp]
    ```
    
    Note that `fp` points to `sp + 29`, so the three `str*`-instructions should fill up a 32bit - value at `sp + 28`, which is later used as the value `n` in `Ok(n) => written += n`. This doesn't work on ARMv5 as the `strh` can't write to the unaligned contents of `fp`, so the upper bits of `n` won't get cleared, leading to the assertion failure in Vec::drain.
    
    With `+strict-align`, the code works as expected.
    frewsxcv committed Jun 1, 2017
    Configuration menu
    Copy the full SHA
    1f4fc76 View commit details
    Browse the repository at this point in the history
  9. Rollup merge of rust-lang#42324 - seanmonstar:41323-compare_const_imp…

    …l, r=nikomatsakis
    
    associated_consts: check trait obligations and regionck for associated consts
    
    Closes rust-lang#41323
    
    r? @nikomatsakis
    frewsxcv committed Jun 1, 2017
    Configuration menu
    Copy the full SHA
    bf4e146 View commit details
    Browse the repository at this point in the history