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 10 pull requests #39800

Closed
wants to merge 27 commits into from
Closed

Rollup of 10 pull requests #39800

wants to merge 27 commits into from

Commits on Jan 11, 2017

  1. Add PartialOrd, Ord derivations to TypeId

    I want to be able to sort a `Vec` of types which contain `TypeId`s, so an `Ord` derivation would be very useful to me. `Hash` already exists, so the missing `PartialOrd` and `Ord` derivations feel like an oversight to me.
    sdleffler authored Jan 11, 2017
    Configuration menu
    Copy the full SHA
    6365c43 View commit details
    Browse the repository at this point in the history

Commits on Jan 17, 2017

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

Commits on Jan 26, 2017

  1. Move platform-specific implementation of libstd/path.rs

    This removes one exception in the tidy lint 'pal'.
    cassiersg committed Jan 26, 2017
    Configuration menu
    Copy the full SHA
    5b8fe3e View commit details
    Browse the repository at this point in the history
  2. Move platform-specific implementation of libstd/f{32,64}.rs

    This removes exceptions in the tidy lint 'pal'.
    cassiersg committed Jan 26, 2017
    Configuration menu
    Copy the full SHA
    662fef6 View commit details
    Browse the repository at this point in the history
  3. Use platform-specific implementation for floats

    Also remove exceptions in tidy lint 'pal'.
    cassiersg committed Jan 26, 2017
    Configuration menu
    Copy the full SHA
    badd513 View commit details
    Browse the repository at this point in the history

Commits on Feb 8, 2017

  1. Configuration menu
    Copy the full SHA
    d90a7b3 View commit details
    Browse the repository at this point in the history
  2. Add equivalents of C's <ctype.h> functions to AsciiExt.

     * `is_ascii_alphabetic`
     * `is_ascii_uppercase`
     * `is_ascii_lowercase`
     * `is_ascii_alphanumeric`
     * `is_ascii_digit`
     * `is_ascii_hexdigit`
     * `is_ascii_punctuation`
     * `is_ascii_graphic`
     * `is_ascii_whitespace`
     * `is_ascii_control`
    
    This addresses issue rust-lang#39658.
    zackw committed Feb 8, 2017
    Configuration menu
    Copy the full SHA
    4c3448f View commit details
    Browse the repository at this point in the history

Commits on Feb 10, 2017

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

Commits on Feb 12, 2017

  1. travis: Add builders without assertions

    This commit adds three new builders, one OSX, one Linux, and one MSVC, which
    will produce "nightlies" with LLVM assertions disabled. Currently all nightly
    releases have LLVM assertions enabled to catch bugs before they reach the
    beta/stable channels. The beta/stable channels, however, do not have LLVM
    assertions enabled.
    
    Unfortunately though projects like Servo are stuck on nightlies for the near
    future at least and are also suffering very long compile times. The purpose of
    this commit is to provide artifacts to these projects which are not distributed
    through normal channels (e.g. rustup) but are provided for developers to use
    locally if need be.
    
    Logistically these builds will all be uploaded to `rustc-builds-alt` instead of
    the `rustc-builds` folder of the `rust-lang-ci` bucket. These builds will stay
    there forever (until cleaned out if necessary) and there are no plans to
    integrate this with rustup and/or the official release process.
    alexcrichton committed Feb 12, 2017
    Configuration menu
    Copy the full SHA
    0340dde View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    7298535 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    9ed53cf View commit details
    Browse the repository at this point in the history

Commits on Feb 13, 2017

  1. test: Remove sanitizer-thread test

    Unfortunately it appears to spuriously fail so we can't gate on it
    alexcrichton committed Feb 13, 2017
    Configuration menu
    Copy the full SHA
    30abe7b View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    c2566f6 View commit details
    Browse the repository at this point in the history
  3. tidy: exempt URLs from the line length restriction

    The length of a URL is usually not under our control, and Markdown
    provides no way to split a URL in the middle.  Therefore, comment
    lines consisting _solely_ of a URL (possibly with a Markdown link
    label in front) should be exempt from the line-length restriction.
    
    Inline hyperlink destinations ( `[foo](http://...)` notation ) are
    _not_ exempt, because it is my arrogant opinion that long lines of
    that type make the source text illegible.
    
    The patch adds dependencies on the `regex` and `lazy_static` crates
    to the tidy utility.  This _appears_ to Just Work, but if you would
    rather not have that dependency I am willing to provide a hand-written
    parser instead.
    zackw committed Feb 13, 2017
    Configuration menu
    Copy the full SHA
    5817351 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    ff4758c View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    162240c View commit details
    Browse the repository at this point in the history

Commits on Feb 14, 2017

  1. Rollup merge of rust-lang#38981 - sdleffler:patch-1, r=alexcrichton

    Add PartialOrd, Ord derivations to TypeId
    
    I want to be able to sort a `Vec` of types which contain `TypeId`s, so an `Ord` derivation would be very useful to me. `Hash` and `PartialEq`/`Eq` already exist, so the missing `PartialOrd` and `Ord` derivations feel like an oversight to me.
    frewsxcv authored Feb 14, 2017
    Configuration menu
    Copy the full SHA
    4dd56de View commit details
    Browse the repository at this point in the history
  2. Rollup merge of rust-lang#39325 - cassiersg:except_lint_pal, r=brson

    Refactor stdlib for pal
    
    This is a small step towards [pal](https://internals.rust-lang.org/t/refactoring-std-for-ultimate-portability/4301/40). I moved all platform-specific code from `libstd/{path,f32,f64}.rs` to `libstd/sys`.
    For the float implementation, I moved only the parts that are currently platform-specific, which leaves direct dependency on libc in `libstd/f32.rs` and `libstd/f64.rs`. I don't know if it is better to move all the dependency to libc in  `sys`.
    frewsxcv authored Feb 14, 2017
    Configuration menu
    Copy the full SHA
    f392067 View commit details
    Browse the repository at this point in the history
  3. Rollup merge of rust-lang#39457 - bvinc:master, r=alexcrichton

    Dont segfault if btree range is not in order
    
    This is a first attempt to fix issue rust-lang#33197.  The issue is that the BTree iterator uses next_unchecked for fast iteration, but it can be tricked into running off the end of the tree and segfaulting if range is called with a maximum that is less than the minimum.
    
    Since a user defined Ord should not determine the safety of BTreeMap, and we still want fast iteration, I've implemented the idea of @gereeter and walk the tree simultaneously searching for both keys to make sure that if our keys diverge, the min key is to the left of our max key.  I currently panic if that is not the case.
    
    Open questions:
    
    1.  Do we want to panic in this error case or do we want to return an empty iterator?  The drain API panics if the range is bad, but drain is given a range of index values, while this is a generic key type.  Panicking is brittle and returning an empty iterator is probably the most flexible and matches what people would want it to do... but artificially returning a BTreeMap::Range with start==end seems like a pretty weird and unnatural thing to do, although it's doable since those fields are not accessible.
    
    The same question for other weird cases:
    2.  (Included(101), Excluded(100)) on a map that contains [1,2,3].  Both BTree edges end up on the same part of the map, but comparing the keys shows the range is backwards.
    3.  (Excluded(5), Excluded(5)).  The keys are equal but BTree edges end up backwards if the map contains 5.
    4.  (Included(5), Excluded(5)).  Should naturally produce an empty iterator, right?
    frewsxcv authored Feb 14, 2017
    Configuration menu
    Copy the full SHA
    a928332 View commit details
    Browse the repository at this point in the history
  4. Rollup merge of rust-lang#39560 - F001:retainHashMap, r=alexcrichton

    std: Add retain method for HashMap and HashSet
    
    Fix rust-lang#36648
    
    r? @bluss
    frewsxcv authored Feb 14, 2017
    Configuration menu
    Copy the full SHA
    ced87c6 View commit details
    Browse the repository at this point in the history
  5. Rollup merge of rust-lang#39594 - clarcharr:cstr_box, r=aturon

    Conversions between CStr, OsStr, Path and boxes
    
    This closes a bit of the inconsistencies between `CStr`, `OsStr`, `Path`, and `str`, allowing people to create boxed versions of DSTs other than `str` and `[T]`.
    
    Full list of additions:
    * `Default` for `Box<str>`, `Box<CStr>`, `Box<OsStr>`, and `Box<Path>` (note: `Default` for `PathBuf` is already implemented)
    * `CString::into_boxed_c_str` (feature gated)
    * `OsString::into_boxed_os_str` (feature gated)
    * `Path::into_boxed_path` (feature gated)
    * `From<&CStr> for Box<CStr>`
    * `From<&OsStr> for Box<OsStr>`
    * `From<&Path> for Box<Path>`
    
    This also includes adding the internal methods:
    * `sys::*::os_str::Buf::into_box`
    * `sys::*::os_str::Slice::{into_box, empty_box}`
    * `sys_common::wtf8::Wtf8Buf::into_box`
    * `sys_common::wtf8::Wtf8::{into_box, empty_box}`
    frewsxcv authored Feb 14, 2017
    Configuration menu
    Copy the full SHA
    0e12f7e View commit details
    Browse the repository at this point in the history
  6. Rollup merge of rust-lang#39659 - zackw:asciiext-ctype, r=alexcrichton

    Add equivalents of C's <ctype.h> functions to AsciiExt.
    
     * `is_ascii_alphabetic`
     * `is_ascii_uppercase`
     * `is_ascii_lowercase`
     * `is_ascii_alphanumeric`
     * `is_ascii_digit`
     * `is_ascii_hexdigit`
     * `is_ascii_punctuation`
     * `is_ascii_graphic`
     * `is_ascii_whitespace`
     * `is_ascii_control`
    
    This addresses issue rust-lang#39658.
    
    Lightly tested on x86-64-linux.  tidy complains about the URLs in the documentation making lines too long, I don't know what to do about that.
    frewsxcv authored Feb 14, 2017
    Configuration menu
    Copy the full SHA
    3f3ff76 View commit details
    Browse the repository at this point in the history
  7. Rollup merge of rust-lang#39730 - jseyfried:fix_empty_seq_rep_ice, r=nrc

    macros: fix ICE on certain sequence repetitions
    
    Fixes rust-lang#39709.
    r? @nrc
    frewsxcv authored Feb 14, 2017
    Configuration menu
    Copy the full SHA
    6ab0c0b View commit details
    Browse the repository at this point in the history
  8. Rollup merge of rust-lang#39754 - alexcrichton:less-assertions, r=brson

    travis: Add builders without assertions
    
    This commit adds three new builders, one OSX, one Linux, and one MSVC, which
    will produce "nightlies" with LLVM assertions disabled. Currently all nightly
    releases have LLVM assertions enabled to catch bugs before they reach the
    beta/stable channels. The beta/stable channels, however, do not have LLVM
    assertions enabled.
    
    Unfortunately though projects like Servo are stuck on nightlies for the near
    future at least and are also suffering very long compile times. The purpose of
    this commit is to provide artifacts to these projects which are not distributed
    through normal channels (e.g. rustup) but are provided for developers to use
    locally if need be.
    
    Logistically these builds will all be uploaded to `rustc-builds-alt` instead of
    the `rustc-builds` folder of the `rust-lang-ci` bucket. These builds will stay
    there forever (until cleaned out if necessary) and there are no plans to
    integrate this with rustup and/or the official release process.
    frewsxcv authored Feb 14, 2017
    Configuration menu
    Copy the full SHA
    4970964 View commit details
    Browse the repository at this point in the history
  9. Rollup merge of rust-lang#39785 - alexcrichton:no-thread-sanitizer, r…

    …=japaric
    
    test: Remove sanitizer-thread test
    
    Unfortunately it appears to spuriously fail so we can't gate on it
    frewsxcv authored Feb 14, 2017
    Configuration menu
    Copy the full SHA
    eb48396 View commit details
    Browse the repository at this point in the history
  10. Rollup merge of rust-lang#39790 - zackw:tidy-linelen-exempt-urls, r=a…

    …lexcrichton
    
    tidy: exempt URLs from the line length restriction
    
    The length of a URL is usually not under our control, and Markdown
    provides no way to split a URL in the middle.  Therefore, comment
    lines consisting _solely_ of a URL (possibly with a Markdown link
    label in front) should be exempt from the line-length restriction.
    
    Inline hyperlink destinations ( `[foo](http://...)` notation ) are
    _not_ exempt, because it is my arrogant opinion that long lines of
    that type make the source text illegible.
    
    The patch adds dependencies on the `regex` and `lazy_static` crates
    to the tidy utility.  This _appears_ to Just Work, but if you would
    rather not have that dependency I am willing to provide a hand-written
    parser instead.
    frewsxcv authored Feb 14, 2017
    Configuration menu
    Copy the full SHA
    cdc5937 View commit details
    Browse the repository at this point in the history