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

Closed
wants to merge 20 commits into from
Closed

Rollup of 9 pull requests #39643

wants to merge 20 commits into from

Commits on Feb 3, 2017

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

Commits on Feb 4, 2017

  1. [llvm] Use 32-bits for alignment

    LLVM 4.0 changes this. This change is fine to make for LLVM 3.9 as we
    won't have alignments greater than 2^32-1.
    Dylan McKay committed Feb 4, 2017
    Configuration menu
    Copy the full SHA
    b4e6f70 View commit details
    Browse the repository at this point in the history

Commits on Feb 5, 2017

  1. Use u32 for alignments instead of u64

    Dylan McKay committed Feb 5, 2017
    Configuration menu
    Copy the full SHA
    c7bea76 View commit details
    Browse the repository at this point in the history

Commits on Feb 6, 2017

  1. Extract collections benchmarks to libcollections/benches

    And libcore/benches
    phungleson committed Feb 6, 2017
    Configuration menu
    Copy the full SHA
    7c8c45e View commit details
    Browse the repository at this point in the history
  2. regr test

    nikomatsakis committed Feb 6, 2017
    Configuration menu
    Copy the full SHA
    b975786 View commit details
    Browse the repository at this point in the history
  3. fix case where some edges can't be recreated by expanding the graph

    cc rust-lang#39569 -- almost certainly a fix for that
    nikomatsakis committed Feb 6, 2017
    Configuration menu
    Copy the full SHA
    4f5fc4e View commit details
    Browse the repository at this point in the history
  4. A few documentation improvements for syntax::print::pp

    * Moved algorithm explanation to module docs
    * Added ``` before and after the examples
    * Explanation of the `rbox`, `ibox` and `cbox` names
    * Added docs about the breaking types to `Breaks`
    bjorn3 committed Feb 6, 2017
    Configuration menu
    Copy the full SHA
    1ee88e5 View commit details
    Browse the repository at this point in the history

Commits on Feb 7, 2017

  1. make Child::try_wait return io::Result<Option<ExitStatus>>

    This is much nicer for callers who want to short-circuit real I/O errors
    with `?`, because they can write this
    
        if let Some(status) = foo.try_wait()? {
            ...
        } else {
            ...
        }
    
    instead of this
    
        match foo.try_wait() {
            Ok(status) => {
                ...
            }
            Err(err) if err.kind() == io::ErrorKind::WouldBlock => {
                ...
            }
            Err(err) => return Err(err),
        }
    
    The original design of `try_wait` was patterned after the `Read` and
    `Write` traits, which support both blocking and non-blocking
    implementations in a single API. But since `try_wait` is never blocking,
    it makes sense to optimize for the non-blocking case.
    
    Tracking issue: rust-lang#38903
    oconnor663 committed Feb 7, 2017
    Configuration menu
    Copy the full SHA
    2a345bb View commit details
    Browse the repository at this point in the history
  2. Add Emscripten-specific linker

    It claims to accept most GNU linker options, but in fact most of them
    have no effect and instead it requires some special options which are
    easier to handle in a separate trait.
    
    Currently added:
     - `export_symbols`: works on executables as special Emscripten case
    since staticlibs/dylibs aren't compiled to JS, while exports are
    required to be accessible from JS.
    Fixes rust-lang#39171.
     - `optimize` - translates Rust's optimization level to Emscripten
    optimization level (whether passed via `-C opt-level=...` or `-O...`).
    Fixes rust-lang#36899.
     - `debuginfo` - translates debug info; Emscripten has 5 debug levels
    while Rust has 3, so chose to translate `-C debuginfo=1` to `-g3`
    (preserves whitespace, variable and function names for easy debugging).
    Fixes rust-lang#36901.
     - `no_default_libraries` - tells Emscripten to exlude `memcpy` and co.
    RReverser committed Feb 7, 2017
    Configuration menu
    Copy the full SHA
    87b8c9e View commit details
    Browse the repository at this point in the history
  3. Bump stable release date

    brson committed Feb 7, 2017
    Configuration menu
    Copy the full SHA
    7916e00 View commit details
    Browse the repository at this point in the history

Commits on Feb 8, 2017

  1. Rename manifest_version to manifest-version

    The current manifests encode this with a dash in the name, so we should preserve
    that!
    alexcrichton committed Feb 8, 2017
    Configuration menu
    Copy the full SHA
    e53eaa3 View commit details
    Browse the repository at this point in the history
  2. Rollup merge of rust-lang#39462 - emilio:improper-ctypes, r=nikomatsakis

    lint/ctypes: Don't warn on sized structs with PhantomData.
    
    Fixes rust-lang#34798
    frewsxcv authored Feb 8, 2017
    Configuration menu
    Copy the full SHA
    a261924 View commit details
    Browse the repository at this point in the history
  3. Rollup merge of rust-lang#39490 - RReverser:em-linker, r=alexcrichton

    Add Emscripten-specific linker
    
    Emscripten claims to accept most GNU linker options, but in fact most of `-Wl,...` are useless for it and instead it requires some additional special options which are easier to handle in a separate trait.
    
    Currently added:
     - `export_symbols`: works on executables as special Emscripten case since staticlibs/dylibs aren't compiled to JS, while exports are required to be accessible from JS.
    Fixes rust-lang#39171.
     - `optimize` - translates Rust's optimization level to Emscripten optimization level (whether passed via `-C opt-level=...` or `-O...`).
    Fixes rust-lang#36899.
     - `debuginfo` - translates debug info; Emscripten has 5 debug levels while Rust has 3, so chose to translate `-C debuginfo=1` to `-g3` (preserves whitespace, variable and function names for easy debugging).
    Fixes rust-lang#36901.
     - `no_default_libraries` - tells Emscripten to exclude `memcpy` and co.
    
    TODO (in future PR): dynamic linking via `SIDE_MODULE` / `MAIN_MODULE` mechanism.
    frewsxcv authored Feb 8, 2017
    Configuration menu
    Copy the full SHA
    08f4ea4 View commit details
    Browse the repository at this point in the history
  4. Rollup merge of rust-lang#39512 - oconnor663:try_wait, r=alexcrichton

    make Child::try_wait return io::Result<Option<ExitStatus>>
    
    This is much nicer for callers who want to short-circuit real I/O errors
    with `?`, because they can write this
    
        if let Some(status) = foo.try_wait()? {
            ...
        } else {
            ...
        }
    
    instead of this
    
        match foo.try_wait() {
            Ok(status) => {
                ...
            }
            Err(err) if err.kind() == io::ErrorKind::WouldBlock => {
                ...
            }
            Err(err) => return Err(err),
        }
    
    The original design of `try_wait` was patterned after the `Read` and
    `Write` traits, which support both blocking and non-blocking
    implementations in a single API. But since `try_wait` is never blocking,
    it makes sense to optimize for the non-blocking case.
    
    Tracking issue: rust-lang#38903
    frewsxcv authored Feb 8, 2017
    Configuration menu
    Copy the full SHA
    ed172ee View commit details
    Browse the repository at this point in the history
  5. Rollup merge of rust-lang#39529 - dylanmckay:llvm-4.0-align32, r=alex…

    …crichton
    
    [LLVM 4.0] Use 32-bits for alignment
    
    LLVM 4.0 changes this. This change is fine to make for LLVM 3.9 as we
    won't have alignments greater than 2^32-1.
    frewsxcv authored Feb 8, 2017
    Configuration menu
    Copy the full SHA
    fef8b92 View commit details
    Browse the repository at this point in the history
  6. Rollup merge of rust-lang#39557 - bjorn3:pp-docs, r=jseyfried

    A few documentation improvements for `syntax::print::pp`
    
    * Moved algorithm explanation to module docs
    * Added ``` before and after the examples
    * Explanation of the `rbox`, `ibox` and `cbox` names
    * Added docs about the breaking types to `Breaks`
    frewsxcv authored Feb 8, 2017
    Configuration menu
    Copy the full SHA
    3ee6fae View commit details
    Browse the repository at this point in the history
  7. Rollup merge of rust-lang#39561 - phungleson:libcollectionsbench, r=a…

    …lexcrichton
    
    Extract collections benchmarks to libcollections/bench
    
    Good suggestion from @stjepang rust-lang#39484 (comment)
    
    r? @alexcrichton
    frewsxcv authored Feb 8, 2017
    Configuration menu
    Copy the full SHA
    1270c28 View commit details
    Browse the repository at this point in the history
  8. Rollup merge of rust-lang#39582 - nikomatsakis:incr-comp-issue-39569,…

    … r=michaelwoerister
    
    Handle the case where an intermediate node can't be recreated
    
    This solution grows the graph, but this is quite the corner case.
    
    r? @michaelwoerister
    frewsxcv authored Feb 8, 2017
    Configuration menu
    Copy the full SHA
    fefcbc7 View commit details
    Browse the repository at this point in the history
  9. Configuration menu
    Copy the full SHA
    09a2db5 View commit details
    Browse the repository at this point in the history
  10. Rollup merge of rust-lang#39630 - alexcrichton:update-manifest, r=brson

    Rename manifest_version to manifest-version
    
    The current manifests encode this with a dash in the name, so we should preserve
    that!
    frewsxcv authored Feb 8, 2017
    Configuration menu
    Copy the full SHA
    163f981 View commit details
    Browse the repository at this point in the history