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 #42348

Merged
merged 24 commits into from
Jun 1, 2017
Merged

Rollup of 9 pull requests #42348

merged 24 commits into from
Jun 1, 2017

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. 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
  6. Configuration menu
    Copy the full SHA
    caecb76 View commit details
    Browse the repository at this point in the history
  7. Configuration menu
    Copy the full SHA
    d73a0fe View commit details
    Browse the repository at this point in the history
  8. Configuration menu
    Copy the full SHA
    26d5c0e 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. Configuration menu
    Copy the full SHA
    bcd1fe5 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    422faf7 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
    dbc9d71 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
    ae75dbf 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
    b03ed42 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
    a3b842e 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
    2221f9c 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
    a554b74 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
    9d68a23 View commit details
    Browse the repository at this point in the history
  10. Rollup merge of rust-lang#42347 - frewsxcv:frewsxcv/improve-receiver-…

    …recv-timeout-docs, r=QuietMisdreavus
    
    Rewrite doc examples for `Receiver::recv_timeout`.
    
    None
    frewsxcv committed Jun 1, 2017
    Configuration menu
    Copy the full SHA
    9bd6dc7 View commit details
    Browse the repository at this point in the history