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 34 pull requests #39632

Closed
wants to merge 106 commits into from
Closed

Rollup of 34 pull requests #39632

wants to merge 106 commits into from

Commits on Jan 1, 2017

  1. Added Default impl to PathBuf

    Aaron Power committed Jan 1, 2017
    Configuration menu
    Copy the full SHA
    108293d View commit details
    Browse the repository at this point in the history

Commits on Jan 28, 2017

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

Commits on Jan 29, 2017

  1. Add support for test suites emulated in QEMU

    This commit adds support to the build system to execute test suites that cannot
    run natively but can instead run inside of a QEMU emulator. A proof-of-concept
    builder was added for the `arm-unknown-linux-gnueabihf` target to show off how
    this might work.
    
    In general the architecture is to have a server running inside of the emulator
    which a local client connects to. The protocol between the server/client
    supports compiling tests on the host and running them on the target inside the
    emulator.
    
    Closes rust-lang#33114
    alexcrichton committed Jan 29, 2017
    Configuration menu
    Copy the full SHA
    1747ce2 View commit details
    Browse the repository at this point in the history

Commits on Jan 31, 2017

  1. Configuration menu
    Copy the full SHA
    6d9f359 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    cd603e4 View commit details
    Browse the repository at this point in the history

Commits on Feb 2, 2017

  1. Update grammar struct field init shorthand

    Giang Nguyen authored and phungleson committed Feb 2, 2017
    Configuration menu
    Copy the full SHA
    897029d View commit details
    Browse the repository at this point in the history
  2. Add explain struct field init shorthand

    Giang Nguyen authored and phungleson committed Feb 2, 2017
    Configuration menu
    Copy the full SHA
    3388855 View commit details
    Browse the repository at this point in the history
  3. Add doc field init shorthand

    Giang Nguyen authored and phungleson committed Feb 2, 2017
    Configuration menu
    Copy the full SHA
    a7b65f1 View commit details
    Browse the repository at this point in the history
  4. Wrap 80 columns

    phungleson committed Feb 2, 2017
    Configuration menu
    Copy the full SHA
    c4cd4e1 View commit details
    Browse the repository at this point in the history

Commits on Feb 3, 2017

  1. doc comment rewording

    king6cong committed Feb 3, 2017
    Configuration menu
    Copy the full SHA
    5c9fdd1 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    4ddb56b View commit details
    Browse the repository at this point in the history
  3. 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. Pass -fPIC to native compiles on 32-bit

    This is apparently a regression from 1.14.0 to 1.15.0. Previously we
    passed `-fPIC` to C compilers on i686 targets, but the `gcc` crate
    apparently [explicitly] didn't do this. I don't recall why that was
    avoided but it was [previously passed by the makefiles][mk] and this
    seems to have [caused a regression][regression] in Firefox, so this
    commit reverts back to passing `-fPIC`.
    
    [explicitly]: rust-lang/cc-rs@362bdf20
    [mk]: https://github.com/rust-lang/rust/blob/c781fc4a/mk/cfg/i686-unknown-linux-gnu.mk#L11
    [regression]: https://bugzilla.mozilla.org/show_bug.cgi?id=1336155
    alexcrichton committed Feb 4, 2017
    Configuration menu
    Copy the full SHA
    f98f6c7 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    8579218 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    89ae2ca View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    7aff6ad View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    3fa28cb View commit details
    Browse the repository at this point in the history

Commits on Feb 6, 2017

  1. Configuration menu
    Copy the full SHA
    c68e963 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    caf9f95 View commit details
    Browse the repository at this point in the history
  3. Move type of discriminant to AdtDef

    Previously AdtDef variants contained ConstInt for each discriminant, which did not really reflect
    the actual type of the discriminants. Moving the type into AdtDef allows to easily put the type
    into metadata and also saves bytes from ConstVal overhead for each discriminant.
    
    Also arguably the code is cleaner now :)
    nagisa committed Feb 6, 2017
    Configuration menu
    Copy the full SHA
    6849985 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    a8075a4 View commit details
    Browse the repository at this point in the history
  5. SwitchInt over Switch

    This removes another special case of Switch by replacing it with the more general SwitchInt. While
    this is more clunky currently, there’s no reason we can’t make it nice (and efficient) to use.
    nagisa committed Feb 6, 2017
    Configuration menu
    Copy the full SHA
    1355a57 View commit details
    Browse the repository at this point in the history
  6. Only SwitchInt over integers, not all consts

    Also use a Cow to avoid full Vec for all SwitchInts
    nagisa committed Feb 6, 2017
    Configuration menu
    Copy the full SHA
    94e587e View commit details
    Browse the repository at this point in the history
  7. Fix build on further stages

    nagisa committed Feb 6, 2017
    Configuration menu
    Copy the full SHA
    3393584 View commit details
    Browse the repository at this point in the history
  8. Reimplement simplify_cfg for SwitchInt

    First example of optimisation that applies to many more cases than originally.
    nagisa committed Feb 6, 2017
    Configuration menu
    Copy the full SHA
    76bc6c3 View commit details
    Browse the repository at this point in the history
  9. Configuration menu
    Copy the full SHA
    cd41479 View commit details
    Browse the repository at this point in the history
  10. Fix SwitchInt building in ElaborateDrops pass

    Previously it used to build a switch in a way that didn’t preserve the invariat of SwitchInt. Now
    it builds it in an optimal way too, where otherwise branch becomes all the branches which did not
    have partial variant drops.
    nagisa committed Feb 6, 2017
    Configuration menu
    Copy the full SHA
    ff167a6 View commit details
    Browse the repository at this point in the history
  11. Prefer switching on false for boolean switches

    This ends up not really mattering because we generate a plain conditional branch in LLVM either
    way.
    nagisa committed Feb 6, 2017
    Configuration menu
    Copy the full SHA
    4e7770e View commit details
    Browse the repository at this point in the history
  12. Fix codegen test

    nagisa committed Feb 6, 2017
    Configuration menu
    Copy the full SHA
    d3f704a View commit details
    Browse the repository at this point in the history
  13. Configuration menu
    Copy the full SHA
    5e465d5 View commit details
    Browse the repository at this point in the history
  14. Configuration menu
    Copy the full SHA
    1fee722 View commit details
    Browse the repository at this point in the history
  15. Add TerminatorKind::if_ convenience constructor

    Constructs a TerminatorKind::SwitchInt for an equivalent conditional true-false branch.
    nagisa committed Feb 6, 2017
    Configuration menu
    Copy the full SHA
    832d7e0 View commit details
    Browse the repository at this point in the history
  16. Fix build

    Additionally, revert unnecessary changes to ty::layout
    nagisa committed Feb 6, 2017
    Configuration menu
    Copy the full SHA
    4e29e81 View commit details
    Browse the repository at this point in the history
  17. Fix tests

    nagisa committed Feb 6, 2017
    Configuration menu
    Copy the full SHA
    cdd4aad View commit details
    Browse the repository at this point in the history
  18. Rebase fixups

    nagisa committed Feb 6, 2017
    Configuration menu
    Copy the full SHA
    1e8c855 View commit details
    Browse the repository at this point in the history
  19. Configuration menu
    Copy the full SHA
    1246779 View commit details
    Browse the repository at this point in the history
  20. go back to use //

    king6cong committed Feb 6, 2017
    Configuration menu
    Copy the full SHA
    380ba6d View commit details
    Browse the repository at this point in the history
  21. 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
  22. 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
  23. Configuration menu
    Copy the full SHA
    78f542b View commit details
    Browse the repository at this point in the history
  24. Configuration menu
    Copy the full SHA
    fa0a728 View commit details
    Browse the repository at this point in the history
  25. 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
  26. Delete the mk folder

    This commit deletes the old build system located in the `mk` folder as it's now
    been obsoleted for two cycles and is replaced by rustbuild.
    alexcrichton committed Feb 6, 2017
    Configuration menu
    Copy the full SHA
    9ab8090 View commit details
    Browse the repository at this point in the history
  27. Delete swaths of the configure script

    This commit deletes swaths of the configure script related to the old build
    system which are now no longer needed when using rustbuild.
    alexcrichton committed Feb 6, 2017
    Configuration menu
    Copy the full SHA
    9b0e6af View commit details
    Browse the repository at this point in the history
  28. Delete Travis/AppVeyor makefile builders

    We no longer need these builders as we're no longer testing the old build
    system.
    alexcrichton committed Feb 6, 2017
    Configuration menu
    Copy the full SHA
    ce4abc3 View commit details
    Browse the repository at this point in the history
  29. std: Remove cfg(cargobuild) annotations

    These are all now no longer needed that we've only got rustbuild in tree.
    alexcrichton committed Feb 6, 2017
    Configuration menu
    Copy the full SHA
    77c3bfa View commit details
    Browse the repository at this point in the history
  30. Clean our src/etc of old files

    Some of these have long since expired, some are no longer in use now that we've
    jettisoned the makefiles, but none of them should be needed any more.
    alexcrichton committed Feb 6, 2017
    Configuration menu
    Copy the full SHA
    ffd3070 View commit details
    Browse the repository at this point in the history
  31. rustbuild: Fix a few locations with makefiles gone

    * Add version info to channel.rs as main.mk is no longer available
    * Update `Makefile.in` used with bootstrap to not try to require `mk/util.mk`
    * Update the `dist` target to avoid the makefile pieces
    alexcrichton committed Feb 6, 2017
    Configuration menu
    Copy the full SHA
    9ad13c8 View commit details
    Browse the repository at this point in the history
  32. compiletest: Add caching of test results

    Don't re-run tests in compiletest if all the inputs haven't changed, manage
    stamp files in the output directory.
    alexcrichton committed Feb 6, 2017
    Configuration menu
    Copy the full SHA
    c8e0d04 View commit details
    Browse the repository at this point in the history
  33. rustbuild: support setting verbosity in config.toml

    Signed-off-by: Marc-Antoine Perennou <Marc-Antoine@Perennou.com>
    Keruspe committed Feb 6, 2017
    Configuration menu
    Copy the full SHA
    7c2752a View commit details
    Browse the repository at this point in the history
  34. 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
  35. rustbuild: add verbose to config.toml.example

    Signed-off-by: Marc-Antoine Perennou <Marc-Antoine@Perennou.com>
    Keruspe committed Feb 6, 2017
    Configuration menu
    Copy the full SHA
    4268872 View commit details
    Browse the repository at this point in the history
  36. Re-write the doc index page

    Clarify and reorganize.
    
    Add the section for the bookshelf. More to come here in the near future!
    
    Part of rust-lang#39588
    steveklabnik committed Feb 6, 2017
    Configuration menu
    Copy the full SHA
    acd84c2 View commit details
    Browse the repository at this point in the history
  37. Configuration menu
    Copy the full SHA
    b0803d4 View commit details
    Browse the repository at this point in the history
  38. Fix branch name Cargo's downloaded from

    This landed on beta in rust-lang#39546 and this is bringing the patch back to master.
    alexcrichton committed Feb 6, 2017
    Configuration menu
    Copy the full SHA
    19bbd85 View commit details
    Browse the repository at this point in the history
  39. Fix a manifest-generation bug on beta

    Right now all Cargo release tarballs are 'nightly', they're not on the standard
    channels yet.
    alexcrichton committed Feb 6, 2017
    Configuration menu
    Copy the full SHA
    bf126d2 View commit details
    Browse the repository at this point in the history
  40. Configuration menu
    Copy the full SHA
    d92abb3 View commit details
    Browse the repository at this point in the history
  41. Configuration menu
    Copy the full SHA
    235741f View commit details
    Browse the repository at this point in the history
  42. Configuration menu
    Copy the full SHA
    550373b View commit details
    Browse the repository at this point in the history

Commits on Feb 7, 2017

  1. Unignore u128 test for stage 0,1

    Even more SNAP cleanup.
    est31 committed Feb 7, 2017
    Configuration menu
    Copy the full SHA
    ddb0a78 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    df73bc9 View commit details
    Browse the repository at this point in the history
  3. 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
  4. Change deprecation warning to indicate custom derive support was remo…

    …ved from the current compiler version
    JordiPolo committed Feb 7, 2017
    Configuration menu
    Copy the full SHA
    b74e668 View commit details
    Browse the repository at this point in the history
  5. Improve fmt float

    * Move to a separate float mod
    * Add more tests for f64 f32 lower exp upper exp
    * Use assert_eq for a clearer error message
    phungleson committed Feb 7, 2017
    Configuration menu
    Copy the full SHA
    2ba0b65 View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    e5396e0 View commit details
    Browse the repository at this point in the history
  7. add missing comma

    gheoan authored Feb 7, 2017
    Configuration menu
    Copy the full SHA
    ffea076 View commit details
    Browse the repository at this point in the history
  8. review nits

    steveklabnik committed Feb 7, 2017
    Configuration menu
    Copy the full SHA
    78dd2ec View commit details
    Browse the repository at this point in the history
  9. 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
  10. Configuration menu
    Copy the full SHA
    d037808 View commit details
    Browse the repository at this point in the history
  11. rustbuild: Clean build/dist on make clean

    Prevents stale artifacts from sticking around by accident!
    alexcrichton committed Feb 7, 2017
    Configuration menu
    Copy the full SHA
    37887fc View commit details
    Browse the repository at this point in the history
  12. 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
  13. Configuration menu
    Copy the full SHA
    620074d View commit details
    Browse the repository at this point in the history

Commits on Feb 8, 2017

  1. Rollup merge of rust-lang#38764 - Aaronepower:master, r=aturon

    Added Default impl to PathBuf
    frewsxcv authored Feb 8, 2017
    Configuration menu
    Copy the full SHA
    cc452f6 View commit details
    Browse the repository at this point in the history
  2. Rollup merge of rust-lang#39361 - cengizIO:master, r=arielb1

    Improve error message for uninferrable types rust-lang#38812
    
    Hello,
    
    I tried to improve the error message for uninferrable types. The error code is `E0282`.
    
    ```rust
    
    error[E0282]: type annotations needed
     --> /home/cengizIO/issue38812.rs:2:11
      |
    2 |   let x = vec![];
      |       -   ^^^^^^ cannot infer type for `T`
      |       |
      |       consider giving `x` a type
      |
      = note: this error originates in a macro outside of the current crate
    ```
    
    and
    
    ```rust
    
    error[E0282]: type annotations needed
     --> /home/cengizIO/issue38812.rs:2:15
      |
    2 |   let (x,) = (vec![],);
      |       ----    ^^^^^^ cannot infer type for `T`
      |       |
      |       consider giving a type to pattern
      |
      = note: this error originates in a macro outside of the current crate
    ```
    
    Rust compiler now tries to find uninferred `local`s with type `_` and adds them into the error message.
    
    I'm probably wrong on wording that I used. Please feel free to suggest better alternatives.
    
    Thanks @nikomatsakis for mentoring 🍺
    
    Any comments/feedback is more than welcome!
    
    Thank you
    frewsxcv authored Feb 8, 2017
    Configuration menu
    Copy the full SHA
    f144122 View commit details
    Browse the repository at this point in the history
  3. Rollup merge of rust-lang#39372 - seanmonstar:more-addr-froms, r=alex…

    …crichton
    
    A few ergonomic From impls for SocketAddr/IpAddr
    
    My main motivation is removing things like this: `"127.0.0.1:3000".parse().unwrap()`. Instead, this now works: `SocketAddr::from(([127, 0, 0, 1], 3000))` or even `([127, 0, 0, 1], 3000).into())` when passing to a function.
    frewsxcv authored Feb 8, 2017
    Configuration menu
    Copy the full SHA
    3769fc8 View commit details
    Browse the repository at this point in the history
  4. Rollup merge of rust-lang#39374 - durka:patch-34, r=steveklabnik

    reference: clarify #[cfg] section
    
    Closes rust-lang#39370, but maybe we (or clippy) should add a warning too.
    frewsxcv authored Feb 8, 2017
    Configuration menu
    Copy the full SHA
    73bb2d1 View commit details
    Browse the repository at this point in the history
  5. Rollup merge of rust-lang#39400 - alexcrichton:arm-cross-test, r=brson

    Add support for test suites emulated in QEMU
    
    This commit adds support to the build system to execute test suites that cannot
    run natively but can instead run inside of a QEMU emulator. A proof-of-concept
    builder was added for the `arm-unknown-linux-gnueabihf` target to show off how
    this might work.
    
    In general the architecture is to have a server running inside of the emulator
    which a local client connects to. The protocol between the server/client
    supports compiling tests on the host and running them on the target inside the
    emulator.
    
    Closes rust-lang#33114
    frewsxcv authored Feb 8, 2017
    Configuration menu
    Copy the full SHA
    a6d3620 View commit details
    Browse the repository at this point in the history
  6. Rollup merge of rust-lang#39426 - jakllsch:netbsd-c, r=alexcrichton

    Add i686-unknown-netbsdelf target
    frewsxcv authored Feb 8, 2017
    Configuration menu
    Copy the full SHA
    12a21c5 View commit details
    Browse the repository at this point in the history
  7. Rollup merge of rust-lang#39431 - alexcrichton:no-more-makefiles, r=b…

    …rson
    
    Delete the makefile build system
    
    This PR deletes the makefile build system in favor of the rustbuild build system. The beta has now been branched so 1.16 will continue to be buildable from the makefiles, but going forward 1.17 will only be buildable with rustbuild.
    
    Rustbuild has been the default build system [since 1.15.0](rust-lang#37817) and the makefiles were [proposed for deletion](https://internals.rust-lang.org/t/proposal-for-promoting-rustbuild-to-official-status/4368) at this time back in November of last year.
    
    And now with the deletion of these makefiles we can start getting those sweet sweet improvements of using crates.io crates in the compiler!
    frewsxcv authored Feb 8, 2017
    Configuration menu
    Copy the full SHA
    caf3bc5 View commit details
    Browse the repository at this point in the history
  8. Rollup merge of rust-lang#39438 - clarcharr:box_from, r=alexcrichton

    Conversions between slices and boxes
    
    This allows conversion for `Copy` slices, `str`, and `CStr` into their boxed counterparts.
    
    This also adds the method `CString::into_boxed_c_str`.
    
    I would like to add similar implementations for `OsStr` as well, but I have not figured out how.
    frewsxcv authored Feb 8, 2017
    Configuration menu
    Copy the full SHA
    916e368 View commit details
    Browse the repository at this point in the history
  9. Rollup merge of rust-lang#39456 - nagisa:mir-switchint-everywhere, r=…

    …nikomatsakis
    
    [MIR] SwitchInt Everywhere
    
    Something I’ve been meaning to do for a very long while. This PR essentially gets rid of 3 kinds of conditional branching and only keeps the most general one – `SwitchInt`. Primary benefits are such that dealing with MIR now does not involve dealing with 3 different ways to do conditional control flow. On the other hand, constructing a `SwitchInt` currently requires more code than what previously was necessary to build an equivalent `If` terminator. Something trivially “fixable” with some constructor methods somewhere (MIR needs stuff like that badly in general).
    
    Some timings (tl;dr: slightly faster¹ (unexpected), but also uses slightly more memory at peak (expected)):
    
    ¹: Not sure if the speed benefits are because of LLVM liking the generated code better or the compiler itself getting compiled better. Either way, its a net benefit. The CORE and SYNTAX timings done for compilation without optimisation.
    
    ```
    AFTER:
    Building stage1 std artifacts (x86_64-unknown-linux-gnu -> x86_64-unknown-linux-gnu)
        Finished release [optimized] target(s) in 31.50 secs
        Finished release [optimized] target(s) in 31.42 secs
    Building stage1 compiler artifacts (x86_64-unknown-linux-gnu -> x86_64-unknown-linux-gnu)
        Finished release [optimized] target(s) in 439.56 secs
        Finished release [optimized] target(s) in 435.15 secs
    
    CORE: 99% (24.81 real, 0.13 kernel, 24.57 user); 358536k resident
    CORE: 99% (24.56 real, 0.15 kernel, 24.36 user); 359168k resident
    SYNTAX: 99% (49.98 real, 0.48 kernel, 49.42 user); 653416k resident
    SYNTAX: 99% (50.07 real, 0.58 kernel, 49.43 user); 653604k resident
    
    BEFORE:
    Building stage1 std artifacts (x86_64-unknown-linux-gnu -> x86_64-unknown-linux-gnu)
        Finished release [optimized] target(s) in 31.84 secs
    Building stage1 compiler artifacts (x86_64-unknown-linux-gnu -> x86_64-unknown-linux-gnu)
        Finished release [optimized] target(s) in 451.17 secs
    
    CORE: 99% (24.66 real, 0.20 kernel, 24.38 user); 351096k resident
    CORE: 99% (24.36 real, 0.17 kernel, 24.18 user); 352284k resident
    SYNTAX: 99% (52.24 real, 0.56 kernel, 51.66 user); 645544k resident
    SYNTAX: 99% (51.55 real, 0.48 kernel, 50.99 user); 646428k resident
    ```
    
    cc @nikomatsakis @eddyb
    frewsxcv authored Feb 8, 2017
    Configuration menu
    Copy the full SHA
    e49ec1c View commit details
    Browse the repository at this point in the history
  10. Rollup merge of rust-lang#39459 - phungleson:fix-short-hand-struct-do…

    …c, r=steveklabnik
    
    Fix short hand struct doc
    
    Don't want to discredit @HnGiang effort on this issue.
    
    I just want to lend a hand to fix this issue rust-lang#38830, it is a very nice feature and is seemingly completed.
    
    Fixes rust-lang#39096
    
    r? @steveklabnik
    frewsxcv authored Feb 8, 2017
    Configuration menu
    Copy the full SHA
    071f6de View commit details
    Browse the repository at this point in the history
  11. 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
    67e8473 View commit details
    Browse the repository at this point in the history
  12. Rollup merge of rust-lang#39482 - king6cong:master, r=frewsxcv

    doc comment rewording
    frewsxcv authored Feb 8, 2017
    Configuration menu
    Copy the full SHA
    493917e View commit details
    Browse the repository at this point in the history
  13. 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
    48c220b View commit details
    Browse the repository at this point in the history
  14. 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
    8a2f328 View commit details
    Browse the repository at this point in the history
  15. Rollup merge of rust-lang#39523 - alexcrichton:fpic, r=aturon

    Pass -fPIC to native compiles on 32-bit
    
    This is apparently a regression from 1.14.0 to 1.15.0. Previously we
    passed `-fPIC` to C compilers on i686 targets, but the `gcc` crate
    apparently [explicitly] didn't do this. I don't recall why that was
    avoided but it was [previously passed by the makefiles][mk] and this
    seems to have [caused a regression][regression] in Firefox, so this
    commit reverts back to passing `-fPIC`.
    
    [explicitly]: rust-lang/cc-rs@362bdf20
    [mk]: https://github.com/rust-lang/rust/blob/c781fc4a/mk/cfg/i686-unknown-linux-gnu.mk#L11
    [regression]: https://bugzilla.mozilla.org/show_bug.cgi?id=1336155
    frewsxcv authored Feb 8, 2017
    Configuration menu
    Copy the full SHA
    6cd834a View commit details
    Browse the repository at this point in the history
  16. Rollup merge of rust-lang#39545 - JordiPolo:fix/1_15_released, r=jsey…

    …fried
    
    Change deprecation warning to indicate custom derive support was removed
    
    I'm very new to Rust and the message was confusing to me (using nightly and not really sure if I was > 1.15 or not).
    frewsxcv authored Feb 8, 2017
    Configuration menu
    Copy the full SHA
    94e6011 View commit details
    Browse the repository at this point in the history
  17. 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
    4215d3e View commit details
    Browse the repository at this point in the history
  18. 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
    8098c98 View commit details
    Browse the repository at this point in the history
  19. 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
    3189ee3 View commit details
    Browse the repository at this point in the history
  20. Rollup merge of rust-lang#39583 - michaelwoerister:limit-llvm-threads…

    …, r=nikomatsakis
    
    back: Limit the number of LLVM worker threads.
    
    This should fix issue rust-lang#39568.
    Also see rust-lang#39280.
    
    r? @nikomatsakis
    frewsxcv authored Feb 8, 2017
    Configuration menu
    Copy the full SHA
    17679c7 View commit details
    Browse the repository at this point in the history
  21. Rollup merge of rust-lang#39587 - Keruspe:master, r=alexcrichton

    rustbuild: support setting verbosity in config.toml
    
    Most if not all the configuration is settable trhough config.toml but the verbosity isn't yet.
    
    This avoids having to pass -v to x.py on each command if you want verbosity to be always on.
    frewsxcv authored Feb 8, 2017
    Configuration menu
    Copy the full SHA
    cff9175 View commit details
    Browse the repository at this point in the history
  22. Rollup merge of rust-lang#39593 - steveklabnik:bookshelf-landing-page…

    …, r=frewsxcv
    
    Re-write the doc index page
    
    Clarify and reorganize.
    
    Add the section for the bookshelf. More to come here in the near future!
    
    Part of rust-lang#39588
    frewsxcv authored Feb 8, 2017
    Configuration menu
    Copy the full SHA
    8997a51 View commit details
    Browse the repository at this point in the history
  23. Rollup merge of rust-lang#39597 - GuillaumeGomez:correct_rustdoc_test…

    …_file, r=alexcrichton
    
    Display correct filename with --test option
    
    Fixes rust-lang#39592.
    
    With the current files:
    
    ```rust
    pub mod foo;
    
    /// This is a Foo;
    ///
    /// ```
    /// println!("baaaaaar");
    /// ```
    pub struct Foo;
    
    /// This is a Bar;
    ///
    /// ```
    /// println!("fooooo");
    /// ```
    pub struct Bar;
    ```
    
    ```rust
    // note the whitespaces
    /// ```
    /// println!("foo");
    /// ```
    pub fn foo() {}
    ```
    
    It displays:
    
    ```
    ./build/x86_64-apple-darwin/stage1/bin/rustdoc --test test.rs
    
    running 3 tests
    test test.rs - line 13 ... ok
    test test.rs - line 5 ... ok
    test foo.rs - line 2 ... ok
    
    test result: ok. 3 passed; 0 failed; 0 ignored; 0 measured
    ```
    
    ```
    
    ` ``
    println!("lol");
    ` ``
    
    asdjnfasd
    
    asd
    ```
    
    It displays:
    
    ```
    ./build/x86_64-apple-darwin/stage1/bin/rustdoc --test foo.md
    
    running 1 test
    test <input> - line 3 ... ok
    
    test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured
    ```
    
    r? @alexcrichton
    frewsxcv authored Feb 8, 2017
    Configuration menu
    Copy the full SHA
    472494a View commit details
    Browse the repository at this point in the history
  24. Rollup merge of rust-lang#39598 - alexcrichton:cargo-branch, r=brson

    Fix branch name Cargo's downloaded from
    
    This landed on beta in rust-lang#39546 and this is bringing the patch back to master.
    frewsxcv authored Feb 8, 2017
    Configuration menu
    Copy the full SHA
    0dd60ae View commit details
    Browse the repository at this point in the history
  25. Rollup merge of rust-lang#39599 - alexcrichton:cargo-tarball-name, r=…

    …brson
    
    Fix a manifest-generation bug on beta
    
    Right now all Cargo release tarballs are 'nightly', they're not on the standard
    channels yet.
    frewsxcv authored Feb 8, 2017
    Configuration menu
    Copy the full SHA
    5e08fa7 View commit details
    Browse the repository at this point in the history
  26. Rollup merge of rust-lang#39601 - dumbbell:update-liblibc-to-include-…

    …aarch64-unknown-freebsd, r=alexcrichton
    
    liblibc: Update to include `aarch64-unknown-freebsd` support
    frewsxcv authored Feb 8, 2017
    Configuration menu
    Copy the full SHA
    4d2aa65 View commit details
    Browse the repository at this point in the history
  27. Rollup merge of rust-lang#39602 - estebank:fix-39544, r=eddyb

    Fix ICE when accessing mutably an immutable enum
    
    Fix rust-lang#39544.
    frewsxcv authored Feb 8, 2017
    Configuration menu
    Copy the full SHA
    650b88d View commit details
    Browse the repository at this point in the history
  28. Rollup merge of rust-lang#39604 - est31:i128_tests, r=alexcrichton

    Unignore u128 test for stage 0,1
    
    Even more SNAP cleanup.
    
    Follow-up of rust-lang#39519.
    
    Sorry, I didn't check twice.
    frewsxcv authored Feb 8, 2017
    Configuration menu
    Copy the full SHA
    ba808c3 View commit details
    Browse the repository at this point in the history
  29. Rollup merge of rust-lang#39615 - phungleson:corefloat, r=alexcrichton

    Improve format float
    
    * Move float into mod float like in test
    * Add more tests for f64 f32, lower exp, upper exp, which can come if handy in the future if we want refactor further
    * Use `assert_eq` for clearer error messages
    frewsxcv authored Feb 8, 2017
    Configuration menu
    Copy the full SHA
    530aee8 View commit details
    Browse the repository at this point in the history
  30. Rollup merge of rust-lang#39619 - michaelwoerister:rename-crate-metad…

    …ata, r=alexcrichton
    
    Choose different name for metadata obj-file to avoid clashes with user-chosen names.
    
    Fixes rust-lang#39585 and probably rust-lang#39508.
    Incremental compilation assigns different names to obj-files than regular compilation. If a crate is called "metadata" this can lead to a clash between the root module's obj-file and the obj-file containing crate-metadata. This PR assigns a name to the metadata obj-file that cannot clash with other obj-file because it contains a `.` which is not allowed in a Rust module identifier.
    
    r? @alexcrichton
    
    cc @nikomatsakis
    frewsxcv authored Feb 8, 2017
    Configuration menu
    Copy the full SHA
    9a9fe17 View commit details
    Browse the repository at this point in the history
  31. Configuration menu
    Copy the full SHA
    f6480ff View commit details
    Browse the repository at this point in the history
  32. Rollup merge of rust-lang#39621 - GuillaumeGomez:current_dir_docs, r=…

    …steveklabnik
    
    Add missing urls for current_dir
    
    r? @steveklabnik
    frewsxcv authored Feb 8, 2017
    Configuration menu
    Copy the full SHA
    8499f52 View commit details
    Browse the repository at this point in the history
  33. Rollup merge of rust-lang#39622 - alexcrichton:clean-dist, r=brson

    rustbuild: Clean build/dist on `make clean`
    
    Prevents stale artifacts from sticking around by accident!
    frewsxcv authored Feb 8, 2017
    Configuration menu
    Copy the full SHA
    51b436b View commit details
    Browse the repository at this point in the history
  34. Configuration menu
    Copy the full SHA
    48cab72 View commit details
    Browse the repository at this point in the history