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 15 pull requests #40615

Closed
wants to merge 34 commits into from
Closed

Rollup of 15 pull requests #40615

wants to merge 34 commits into from

Commits on Mar 9, 2017

  1. Configuration menu
    Copy the full SHA
    c7db40f View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    50aee36 View commit details
    Browse the repository at this point in the history

Commits on Mar 14, 2017

  1. travis: Ensure cargo links libcurl statically

    We don't want a dynamic dependency in the library that we ship, so link it
    statically by configuring curl-sys's build script to not pick up the system
    version via pkg-config.
    alexcrichton committed Mar 14, 2017
    Configuration menu
    Copy the full SHA
    5fab9bf View commit details
    Browse the repository at this point in the history
  2. Target builds for older macOS

    wagenet committed Mar 14, 2017
    Configuration menu
    Copy the full SHA
    61d9387 View commit details
    Browse the repository at this point in the history
  3. rustbuild: Update bootstrap compiler

    Now that we've also updated cargo's release process this commit also changes the
    download location of Cargo from Cargos archives back to the static.r-l.o
    archives. This should ensure that the Cargo download is the exact Cargo paired
    with the rustc that we release.
    alexcrichton committed Mar 14, 2017
    Configuration menu
    Copy the full SHA
    e58f9f5 View commit details
    Browse the repository at this point in the history

Commits on Mar 15, 2017

  1. make shift builtins panic-free with new unchecked_sh* intrinsics

    Also update some 128 bit builtins to be panic-free without relying
    on the const evaluator.
    TimNN committed Mar 15, 2017
    Configuration menu
    Copy the full SHA
    cc23d17 View commit details
    Browse the repository at this point in the history
  2. Rename TryFrom's associated type and implement str::parse using TryFrom.

    Per discussion on the tracking issue, naming `TryFrom`'s associated type
    `Error` is generally more consistent with similar traits in the Rust
    ecosystem, and what people seem to assume it should be called. It
    also helps disambiguate from `Result::Err`, the most common "Err".
    
    See
    rust-lang#33417 (comment).
    
    TryFrom<&str> and FromStr are equivalent, so have the latter provide the
    former to ensure that. Using TryFrom in the implementation of
    `str::parse` means types that implement either trait can use it.
    When we're ready to stabilize `TryFrom`, we should update `FromStr` to
    suggest implementing `TryFrom<&str>` instead for new code.
    
    See
    rust-lang#33417 (comment)
    and
    rust-lang#33417 (comment).
    
    Refs rust-lang#33417.
    jimmycuadra authored and alexcrichton committed Mar 15, 2017
    Configuration menu
    Copy the full SHA
    2561dcd View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    a457d67 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    4961f6c View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    ce616a7 View commit details
    Browse the repository at this point in the history

Commits on Mar 16, 2017

  1. Configuration menu
    Copy the full SHA
    910532e View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    284ece3 View commit details
    Browse the repository at this point in the history
  3. Remove internal liblog

    This commit deletes the internal liblog in favor of the implementation that
    lives on crates.io. Similarly it's also setting a convention for adding crates
    to the compiler. The main restriction right now is that we want compiler
    implementation details to be unreachable from normal Rust code (e.g. requires a
    feature), and by default everything in the sysroot is reachable via `extern
    crate`.
    
    The proposal here is to require that crates pulled in have these lines in their
    `src/lib.rs`:
    
        #![cfg_attr(rustbuild, feature(staged_api, rustc_private))]
        #![cfg_attr(rustbuild, unstable(feature = "rustc_private", issue = "27812"))]
    
    This'll mean that by default they're not using these attributes but when
    compiled as part of the compiler they do a few things:
    
    * Mark themselves as entirely unstable via the `staged_api` feature and the
      `#![unstable]` attribute.
    * Allow usage of other unstable crates via `feature(rustc_private)` which is
      required if the crate relies on any other crates to compile (other than std).
    alexcrichton committed Mar 16, 2017
    Configuration menu
    Copy the full SHA
    a4bd5e9 View commit details
    Browse the repository at this point in the history

Commits on Mar 17, 2017

  1. Configuration menu
    Copy the full SHA
    50cede0 View commit details
    Browse the repository at this point in the history
  2. Update libc to 0.2.21

    malbarbo committed Mar 17, 2017
    Configuration menu
    Copy the full SHA
    c96491f View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    5798817 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    3435c60 View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    963d4df View commit details
    Browse the repository at this point in the history
  6. Fix typo in mutex.rs docs

    This seems to match other uses of "be accessed" in the document.
    ScottAbbey authored Mar 17, 2017
    Configuration menu
    Copy the full SHA
    ec8ecf4 View commit details
    Browse the repository at this point in the history
  7. Rollup merge of rust-lang#40281 - jimmycuadra:try-from-from-str, r=at…

    …uron
    
    Rename TryFrom's associated type and implement str::parse using TryFrom.
    
    Per discussion on the tracking issue, naming `TryFrom`'s associated type `Error` is generally more consistent with similar traits in the Rust ecosystem, and what people seem to assume it should be called. It also helps disambiguate from `Result::Err`, the most common "Err".
    
    See rust-lang#33417 (comment).
    
    `TryFrom<&str>` and `FromStr` are equivalent, so have the latter provide the former to ensure that. Using `TryFrom` in the implementation of `str::parse` means types that implement either trait can use it. When we're ready to stabilize `TryFrom`, we should update `FromStr` to
    suggest implementing `TryFrom<&str>` instead for new code.
    
    See rust-lang#33417 (comment)
    and rust-lang#33417 (comment).
    
    Refs rust-lang#33417.
    frewsxcv authored Mar 17, 2017
    Configuration menu
    Copy the full SHA
    70bbbce View commit details
    Browse the repository at this point in the history
  8. Rollup merge of rust-lang#40317 - malbarbo:update-libc, r=alexcrichton

    Update libc to 0.2.21
    
    Update to include android aarch64 and x86 improvements.
    frewsxcv authored Mar 17, 2017
    Configuration menu
    Copy the full SHA
    b449fda View commit details
    Browse the repository at this point in the history
  9. Rollup merge of rust-lang#40347 - alexcrichton:rm-liblog, r=brson

    Remove internal liblog
    
    This commit deletes the internal liblog in favor of the implementation that
    lives on crates.io. Similarly it's also setting a convention for adding crates
    to the compiler. The main restriction right now is that we want compiler
    implementation details to be unreachable from normal Rust code (e.g. requires a
    feature), and by default everything in the sysroot is reachable via `extern
    crate`.
    
    The proposal here is to require that crates pulled in have these lines in their
    `src/lib.rs`:
    
        #![cfg_attr(rustbuild, feature(staged_api, rustc_private))]
        #![cfg_attr(rustbuild, unstable(feature = "rustc_private", issue = "27812"))]
    
    This'll mean that by default they're not using these attributes but when
    compiled as part of the compiler they do a few things:
    
    * Mark themselves as entirely unstable via the `staged_api` feature and the
      `#![unstable]` attribute.
    * Allow usage of other unstable crates via `feature(rustc_private)` which is
      required if the crate relies on any other crates to compile (other than std).
    frewsxcv authored Mar 17, 2017
    Configuration menu
    Copy the full SHA
    a6cebc0 View commit details
    Browse the repository at this point in the history
  10. Rollup merge of rust-lang#40398 - eddyb:struct-hint, r=nikomatsakis

    Propagate expected type hints through struct literals.
    
    Partial fix for rust-lang#31260 to maximize backwards-compatibility, i.e. the hint is provided but not coerced to.
    
    The added test works because `{...; x}` with a hint of `T` coerces `x` to `T`, and the reasoning why that is slightly different has to do with DSTs: `&Struct { tail: [x] }: &Struct<[T]>` has a hint of `[T]` for `[x]`, but the inferred type should be `[T; 1]` to succeed later, so `[x]` shouldn't be *forced* to be `[T]`.
    
    *However*, implementing that complete behavior in a backwards-compatible way may be non-trivial, and has not yet been fully investigated, while this PR fixes rust-lang#40355 and can be backported.
    
    r? @nikomatsakis
    frewsxcv authored Mar 17, 2017
    Configuration menu
    Copy the full SHA
    935a905 View commit details
    Browse the repository at this point in the history
  11. Rollup merge of rust-lang#40409 - mbrubeck:calloc, r=sfackler

    Specialize Vec::from_elem to use calloc
    
    Fixes rust-lang#38723.  This specializes the implementation for `u8` only, but it could be extended to other zeroable types if desired.
    
    I haven't tested this extensively, but I did verify that it gives the expected performance boost for large `vec![0; n]` allocations with both alloc_system and jemalloc, on Linux.  (I have not tested or even built the Windows code.)
    frewsxcv authored Mar 17, 2017
    Configuration menu
    Copy the full SHA
    496d185 View commit details
    Browse the repository at this point in the history
  12. Rollup merge of rust-lang#40482 - wagenet:fix-old-macos, r=alexcrichton

    Target builds for older macOS
    
    Fix rust-lang#40481
    frewsxcv authored Mar 17, 2017
    Configuration menu
    Copy the full SHA
    0644fae View commit details
    Browse the repository at this point in the history
  13. Rollup merge of rust-lang#40507 - alexcrichton:static-libcurl, r=brson

    travis: Ensure cargo links libcurl statically
    
    We don't want a dynamic dependency in the library that we ship, so link it
    statically by configuring curl-sys's build script to not pick up the system
    version via pkg-config.
    frewsxcv authored Mar 17, 2017
    Configuration menu
    Copy the full SHA
    3c4b859 View commit details
    Browse the repository at this point in the history
  14. Rollup merge of rust-lang#40521 - TimNN:panic-free-shift, r=nagisa

    Implemente overflowing_sh* with new unchecked_sh* intrinsics
    
    Also update some 128 bit builtins to not rely on the constant evaluator to avoid checked operations.
    
    Fixes rust-lang#40508.
    
    cc @nagisa, @alexcrichton
    
    Note: I still have a build running to see if the 128 bit changes worked (unoptimized builds take *forever* to compile), however at least the overflowing builtins no longer reference `core::panicking::panic`.
    frewsxcv authored Mar 17, 2017
    Configuration menu
    Copy the full SHA
    be924b1 View commit details
    Browse the repository at this point in the history
  15. Rollup merge of rust-lang#40524 - alexcrichton:update-bootstrap, r=brson

    rustbuild: Update bootstrap compiler
    
    Now that we've also updated cargo's release process this commit also changes the
    download location of Cargo from Cargos archives back to the static.r-l.o
    archives. This should ensure that the Cargo download is the exact Cargo paired
    with the rustc that we release.
    frewsxcv authored Mar 17, 2017
    Configuration menu
    Copy the full SHA
    50bf60e View commit details
    Browse the repository at this point in the history
  16. Rollup merge of rust-lang#40532 - jseyfried:improve_tokenstream_quote…

    …r, r=nrc
    
    macros: improve the `TokenStream` quoter
    
    This PR
     - renames the `TokenStream` quoter from `qquote!` to `quote!`,
     - uses `$` instead of `unquote` (e.g. `let toks: TokenStream = ...; quote!([$toks])`),
     - allows unquoting `Token`s as well as `TokenTree`s and `TokenStream`s (fixes rust-lang#39746), and
     - to preserve syntactic space, requires that `$` be followed by
       - a single identifier to unquote, or
       - another `$` to produce a literal `$`.
    
    r? @nrc
    frewsxcv authored Mar 17, 2017
    Configuration menu
    Copy the full SHA
    8db0914 View commit details
    Browse the repository at this point in the history
  17. Rollup merge of rust-lang#40583 - jseyfried:fix_include_macro_regress…

    …ion, r=nrc
    
    macros: fix regression with `include!()`
    
    Fixes rust-lang#40469, a regression when `include!()`ing a `macro_rules!` containing `$crate`.
    r? @nrc
    frewsxcv authored Mar 17, 2017
    Configuration menu
    Copy the full SHA
    55eacfe View commit details
    Browse the repository at this point in the history
  18. Rollup merge of rust-lang#40588 - topecongiro:add-missing-tests, r=al…

    …excrichton
    
    Add a test for issue 34571
    
    Closes rust-lang#34571.
    frewsxcv authored Mar 17, 2017
    Configuration menu
    Copy the full SHA
    7501349 View commit details
    Browse the repository at this point in the history
  19. Rollup merge of rust-lang#40590 - z1mvader:master, r=steveklabnik

    documented order of conversion between u32 an ipv4addr
    
    This fixes rust-lang#40118
    frewsxcv authored Mar 17, 2017
    Configuration menu
    Copy the full SHA
    ac1d2e6 View commit details
    Browse the repository at this point in the history
  20. Rollup merge of rust-lang#40603 - QuietMisdreavus:slice-ptr-docs, r=G…

    …uillaumeGomez
    
    minor wording tweak to slice::{as_ptr, as_mut_ptr}
    
    Per rust-lang#37334, the slice-as-pointer methods mentioned that "modifying the slice may cause its buffer to be reallocated", when in fact modifying the *slice* itself would cause no such change. (It is a borrow, after all!) This is a tweak to the wording of that line to stress it's the *collection* that could cause the buffer to be reallocated.
    
    r? @steveklabnik
    frewsxcv authored Mar 17, 2017
    Configuration menu
    Copy the full SHA
    02a688b View commit details
    Browse the repository at this point in the history
  21. Rollup merge of rust-lang#40611 - ScottAbbey:patch-1, r=GuillaumeGomez

    Fix typo in mutex.rs docs
    
    This seems to match other uses of "be accessed" in the document.
    frewsxcv authored Mar 17, 2017
    Configuration menu
    Copy the full SHA
    60e7df4 View commit details
    Browse the repository at this point in the history