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

Rolling up PRs in the queue #23922

Merged
merged 55 commits into from
Apr 1, 2015
Merged

Rolling up PRs in the queue #23922

merged 55 commits into from
Apr 1, 2015

Commits on Mar 25, 2015

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

Commits on Mar 26, 2015

  1. std: Stabilize parts of std::os::platform::io

    This commit stabilizes the platform-specific `io` modules, specifically around
    the traits having to do with the raw representation of each object on each
    platform.
    
    Specifically, the following material was stabilized:
    
    * `AsRaw{Fd,Socket,Handle}`
    * `RawFd` (renamed from `Fd`)
    * `RawHandle` (renamed from `Handle`)
    * `RawSocket` (renamed from `Socket`)
    * `AsRaw{Fd,Socket,Handle}` implementations
    * `std::os::{unix, windows}::io`
    
    The following material was added as `#[unstable]`:
    
    * `FromRaw{Fd,Socket,Handle}`
    * Implementations for various primitives
    
    There are a number of future improvements that are possible to make to this
    module, but this should cover a good bit of functionality desired from these
    modules for now. Some specific future additions may include:
    
    * `IntoRawXXX` traits to consume the raw representation and cancel the
      auto-destructor.
    * `Fd`, `Socket`, and `Handle` abstractions that behave like Rust objects and
      have nice methods for various syscalls.
    
    At this time though, these are considered backwards-compatible extensions and
    will not be stabilized at this time.
    
    This commit is a breaking change due to the addition of `Raw` in from of the
    type aliases in each of the platform-specific modules.
    
    [breaking-change]
    alexcrichton committed Mar 26, 2015
    Configuration menu
    Copy the full SHA
    6370f29 View commit details
    Browse the repository at this point in the history

Commits on Mar 30, 2015

  1. replace deprecated as_slice()

    demelev committed Mar 30, 2015
    Configuration menu
    Copy the full SHA
    df65f59 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    2a89d69 View commit details
    Browse the repository at this point in the history
  3. std: Stabilize the rest of Any/BoxAny

    This commit stabilizes the following APIs:
    
    * `TypeId::of` - now that it has an `Any` bound it's ready to be stable.
    * `Box<Any>::downcast` - now that an inherent impl on `Box<Any>` as well as
      `Box<Any+Send>` is allowed the `BoxAny` trait is removed in favor of these
      inherent methods.
    
    This is a breaking change due to the removal of the `BoxAny` trait, but
    consumers can simply remove imports to fix crates.
    
    [breaking-change]
    alexcrichton committed Mar 30, 2015
    Configuration menu
    Copy the full SHA
    f19e763 View commit details
    Browse the repository at this point in the history

Commits on Mar 31, 2015

  1. convert: remove FromError, use From<E> instead

    This removes the FromError trait, since it can now be expressed using
    the new convert::Into trait. All implementations of FromError<E> where
    changed to From<E>, and `try!` was changed to use From::from instead.
    
    Because this removes FromError, it is a breaking change, but fixing it
    simply requires changing the words `FromError` to `From`, and
    `from_error` to `from`.
    
    [breaking-change]
    seanmonstar committed Mar 31, 2015
    Configuration menu
    Copy the full SHA
    e17f4fc View commit details
    Browse the repository at this point in the history
  2. Lex binary and octal literals more eagerly.

    Previously 0b12 was considered two tokens, 0b1 and 2, as 2 isn't a valid
    base 2 digit. This patch changes that to collapse them into one (and
    makes `0b12` etc. an error: 2 isn't a valid base 2 digit).
    
    This may break some macro invocations of macros with `tt` (or syntax
    extensions) that rely on adjacent digits being separate tokens and hence
    is a
    
    [breaking-change]
    
    The fix is to separate the tokens, e.g. `0b12` -> `0b1 2`.
    
    cc rust-lang/rfcs#879
    huonw committed Mar 31, 2015
    Configuration menu
    Copy the full SHA
    606f50c View commit details
    Browse the repository at this point in the history
  3. Update lib.rs

    Removed duplicate words
    wettowelreactor committed Mar 31, 2015
    Configuration menu
    Copy the full SHA
    a78d383 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    edc096d View commit details
    Browse the repository at this point in the history
  5. Last docs for std::env

    steveklabnik committed Mar 31, 2015
    Configuration menu
    Copy the full SHA
    fe8a660 View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    5872ae4 View commit details
    Browse the repository at this point in the history
  7. rollup merge of rust-lang#23549: aturon/stab-num

    This commit stabilizes the `std::num` module:
    
    * The `Int` and `Float` traits are deprecated in favor of (1) the
      newly-added inherent methods and (2) the generic traits available in
      rust-lang/num.
    
    * The `Zero` and `One` traits are reintroduced in `std::num`, which
      together with various other traits allow you to recover the most
      common forms of generic programming.
    
    * The `FromStrRadix` trait, and associated free function, is deprecated
      in favor of inherent implementations.
    
    * A wide range of methods and constants for both integers and floating
      point numbers are now `#[stable]`, having been adjusted for integer
      guidelines.
    
    * `is_positive` and `is_negative` are renamed to `is_sign_positive` and
      `is_sign_negative`, in order to address rust-lang#22985
    
    * The `Wrapping` type is moved to `std::num` and stabilized;
      `WrappingOps` is deprecated in favor of inherent methods on the
      integer types, and direct implementation of operations on
      `Wrapping<X>` for each concrete integer type `X`.
    
    Closes rust-lang#22985
    Closes rust-lang#21069
    
    [breaking-change]
    
    r? @alexcrichton
    alexcrichton committed Mar 31, 2015
    Configuration menu
    Copy the full SHA
    5d0beb7 View commit details
    Browse the repository at this point in the history
  8. Configuration menu
    Copy the full SHA
    03c2f33 View commit details
    Browse the repository at this point in the history
  9. Stabilize std::convert and related code

    * Marks `#[stable]` the contents of the `std::convert` module.
    
    * Added methods `PathBuf::as_path`, `OsString::as_os_str`,
      `String::as_str`, `Vec::{as_slice, as_mut_slice}`.
    
    * Deprecates `OsStr::from_str` in favor of a new, stable, and more
      general `OsStr::new`.
    
    * Adds unstable methods `OsString::from_bytes` and `OsStr::{to_bytes,
      to_cstring}` for ergonomic FFI usage.
    
    [breaking-change]
    aturon committed Mar 31, 2015
    Configuration menu
    Copy the full SHA
    9fc51ef View commit details
    Browse the repository at this point in the history
  10. Configuration menu
    Copy the full SHA
    cf56162 View commit details
    Browse the repository at this point in the history
  11. book: reword timer bit

    Darin Morrison committed Mar 31, 2015
    Configuration menu
    Copy the full SHA
    9ba7974 View commit details
    Browse the repository at this point in the history
  12. Fixup primitive.str docs

    Remove broken links that should just point to the current page, and while we're at it, re-wrap to 100 chars.
    steveklabnik committed Mar 31, 2015
    Configuration menu
    Copy the full SHA
    d9a6e86 View commit details
    Browse the repository at this point in the history
  13. std: Remove #[old_orphan_check] from PartialEq

    This is a deprecated attribute that is slated for removal, and it also affects
    all implementors of the trait. This commit removes the attribute and fixes up
    implementors accordingly. The primary implementation which was lost was the
    ability to compare `&[T]` and `Vec<T>` (in that order).
    
    This change also modifies the `assert_eq!` macro to not consider both directions
    of equality, only the one given in the left/right forms to the macro. This
    modification is motivated due to the fact that `&[T] == Vec<T>` no longer
    compiles, causing hundreds of errors in unit tests in the standard library (and
    likely throughout the community as well).
    
    cc rust-lang#19470
    [breaking-change]
    alexcrichton committed Mar 31, 2015
    Configuration menu
    Copy the full SHA
    5cf126a View commit details
    Browse the repository at this point in the history
  14. Configuration menu
    Copy the full SHA
    608fff8 View commit details
    Browse the repository at this point in the history
  15. Fix spelling

    steveklabnik committed Mar 31, 2015
    Configuration menu
    Copy the full SHA
    e48c7c6 View commit details
    Browse the repository at this point in the history
  16. std: Add a process::exit function

    This commit is an implementation of [RFC rust-lang#1011][rfc] which adds an `exit`
    function to the standard library for immediately terminating the current process
    with a specified exit code.
    
    [rfc]: rust-lang/rfcs#1011
    alexcrichton committed Mar 31, 2015
    Configuration menu
    Copy the full SHA
    71982aa View commit details
    Browse the repository at this point in the history
  17. Stabilize a few remaining stragglers

    * The `io::Seek` trait, and `SeekFrom` enum.
    * The `Iterator::{partition, unsip}` methods.
    * The `Vec::into_boxed_slice` method.
    * The `LinkedList::append` method.
    * The `{or_insert, or_insert_with` methods in the `Entry` APIs.
    aturon committed Mar 31, 2015
    Configuration menu
    Copy the full SHA
    b9ab5fe View commit details
    Browse the repository at this point in the history
  18. Configuration menu
    Copy the full SHA
    1829974 View commit details
    Browse the repository at this point in the history
  19. rollup merge of rust-lang#23766: alexcrichton/stabilize-raw-fd

    This commit stabilizes the platform-specific `io` modules, specifically around
    the traits having to do with the raw representation of each object on each
    platform.
    
    Specifically, the following material was stabilized:
    
    * `AsRaw{Fd,Socket,Handle}`
    * `RawFd` (renamed from `Fd`)
    * `RawHandle` (renamed from `Handle`)
    * `RawSocket` (renamed from `Socket`)
    * `AsRaw{Fd,Socket,Handle}` implementations
    * `std::os::{unix, windows}::io`
    
    The following material was added as `#[unstable]`:
    
    * `FromRaw{Fd,Socket,Handle}`
    * Implementations for various primitives
    
    There are a number of future improvements that are possible to make to this
    module, but this should cover a good bit of functionality desired from these
    modules for now. Some specific future additions may include:
    
    * `IntoRawXXX` traits to consume the raw representation and cancel the
      auto-destructor.
    * `Fd`, `Socket`, and `Handle` abstractions that behave like Rust objects and
      have nice methods for various syscalls.
    
    At this time though, these are considered backwards-compatible extensions and
    will not be stabilized at this time.
    
    This commit is a breaking change due to the addition of `Raw` in from of the
    type aliases in each of the platform-specific modules.
    
    [breaking-change]
    alexcrichton committed Mar 31, 2015
    Configuration menu
    Copy the full SHA
    890f0ab View commit details
    Browse the repository at this point in the history
  20. rollup merge of rust-lang#23876: alexcrichton/stabilize-any

    This commit stabilizes the following APIs:
    
    * `TypeId::of` - now that it has an `Any` bound it's ready to be stable.
    * `Box<Any>::downcast` - now that an inherent impl on `Box<Any>` as well as
      `Box<Any+Send>` is allowed the `BoxAny` trait is removed in favor of these
      inherent methods.
    
    This is a breaking change due to the removal of the `BoxAny` trait, but
    consumers can simply remove imports to fix crates.
    
    [breaking-change]
    alexcrichton committed Mar 31, 2015
    Configuration menu
    Copy the full SHA
    d03120a View commit details
    Browse the repository at this point in the history
  21. rollup merge of rust-lang#23878: Ryman/stable_extremes

    `min`-like functions now return the leftmost element/input for equal elements.
    `max`-like return the rightmost.
    
    Closes rust-lang#23687.
    
    cc @HeroesGrave, @aturon, @alexcrichton
    alexcrichton committed Mar 31, 2015
    Configuration menu
    Copy the full SHA
    f6bd6b4 View commit details
    Browse the repository at this point in the history
  22. rollup merge of rust-lang#23882: wettowelreactor/patch-2

    Removed duplicate words
    alexcrichton committed Mar 31, 2015
    Configuration menu
    Copy the full SHA
    095f1fb View commit details
    Browse the repository at this point in the history
  23. rollup merge of rust-lang#23885: steveklabnik/doc_std_env

    Just one or two things to finish this module off
    alexcrichton committed Mar 31, 2015
    Configuration menu
    Copy the full SHA
    5e0bda0 View commit details
    Browse the repository at this point in the history
  24. Configuration menu
    Copy the full SHA
    6d2c640 View commit details
    Browse the repository at this point in the history
  25. Configuration menu
    Copy the full SHA
    acdb0f9 View commit details
    Browse the repository at this point in the history
  26. std: Clean out #[deprecated] APIs

    This commit cleans out a large amount of deprecated APIs from the standard
    library and some of the facade crates as well, updating all users in the
    compiler and in tests as it goes along.
    alexcrichton committed Mar 31, 2015
    Configuration menu
    Copy the full SHA
    d4a2c94 View commit details
    Browse the repository at this point in the history
  27. rollup merge of rust-lang#23872: huonw/eager-lexing

    Conflicts:
    	src/libsyntax/parse/lexer/mod.rs
    alexcrichton committed Mar 31, 2015
    Configuration menu
    Copy the full SHA
    e3f2d45 View commit details
    Browse the repository at this point in the history
  28. Configuration menu
    Copy the full SHA
    94137a3 View commit details
    Browse the repository at this point in the history
  29. rollup merge of rust-lang#23875: aturon/revise-convert-2

    * Marks `#[stable]` the contents of the `std::convert` module.
    
    * Added methods `PathBuf::as_path`, `OsString::as_os_str`,
      `String::as_str`, `Vec::{as_slice, as_mut_slice}`.
    
    * Deprecates `OsStr::from_str` in favor of a new, stable, and more
      general `OsStr::new`.
    
    * Adds unstable methods `OsString::from_bytes` and `OsStr::{to_bytes,
      to_cstring}` for ergonomic FFI usage.
    
    [breaking-change]
    
    r? @alexcrichton
    alexcrichton committed Mar 31, 2015
    Configuration menu
    Copy the full SHA
    da04788 View commit details
    Browse the repository at this point in the history
  30. rollup merge of rust-lang#23879: seanmonstar/del-from-error

    Conflicts:
    	src/libcore/error.rs
    alexcrichton committed Mar 31, 2015
    Configuration menu
    Copy the full SHA
    e10ee2c View commit details
    Browse the repository at this point in the history
  31. rollup merge of rust-lang#23873: alexcrichton/remove-deprecated

    Conflicts:
    	src/libcollectionstest/fmt.rs
    	src/libcollectionstest/lib.rs
    	src/libcollectionstest/str.rs
    	src/libcore/error.rs
    	src/libstd/fs.rs
    	src/libstd/io/cursor.rs
    	src/libstd/os.rs
    	src/libstd/process.rs
    	src/libtest/lib.rs
    	src/test/run-pass-fulldeps/compiler-calls.rs
    alexcrichton committed Mar 31, 2015
    Configuration menu
    Copy the full SHA
    554946c View commit details
    Browse the repository at this point in the history
  32. Configuration menu
    Copy the full SHA
    3053288 View commit details
    Browse the repository at this point in the history
  33. Configuration menu
    Copy the full SHA
    82889f7 View commit details
    Browse the repository at this point in the history
  34. Configuration menu
    Copy the full SHA
    0cac5b6 View commit details
    Browse the repository at this point in the history
  35. rollup merge of rust-lang#23907: alexcrichton/impl-exit

    This commit is an implementation of [RFC rust-lang#1011][rfc] which adds an `exit`
    function to the standard library for immediately terminating the current process
    with a specified exit code.
    
    [rfc]: rust-lang/rfcs#1011
    
    Closes rust-lang#23914
    alexcrichton committed Mar 31, 2015
    Configuration menu
    Copy the full SHA
    a37311d View commit details
    Browse the repository at this point in the history
  36. rollup merge of rust-lang#23908: aturon/stab-more-stragglers

    * The `io::Seek` trait.
    * The `Iterator::{partition, unsip}` methods.
    * The `Vec::into_boxed_slice` method.
    * The `LinkedList::append` method.
    * The `{or_insert, or_insert_with` methods in the `Entry` APIs.
    
    r? @alexcrichton
    alexcrichton committed Mar 31, 2015
    Configuration menu
    Copy the full SHA
    30283d4 View commit details
    Browse the repository at this point in the history
  37. rollup merge of rust-lang#23288: alexcrichton/issue-19470

    This is a deprecated attribute that is slated for removal, and it also affects
    all implementors of the trait. This commit removes the attribute and fixes up
    implementors accordingly. The primary implementation which was lost was the
    ability to compare `&[T]` and `Vec<T>` (in that order).
    
    This change also modifies the `assert_eq!` macro to not consider both directions
    of equality, only the one given in the left/right forms to the macro. This
    modification is motivated due to the fact that `&[T] == Vec<T>` no longer
    compiles, causing hundreds of errors in unit tests in the standard library (and
    likely throughout the community as well).
    
    Closes rust-lang#19470
    [breaking-change]
    alexcrichton committed Mar 31, 2015
    Configuration menu
    Copy the full SHA
    3422be3 View commit details
    Browse the repository at this point in the history
  38. Configuration menu
    Copy the full SHA
    8da0831 View commit details
    Browse the repository at this point in the history
  39. rollup merge of rust-lang#23901: steveklabnik/fix_links_str

    Remove broken links that should just point to the current page, and while we're at it, re-wrap to 100 chars.
    alexcrichton committed Mar 31, 2015
    Configuration menu
    Copy the full SHA
    9ab6cc9 View commit details
    Browse the repository at this point in the history
  40. Configuration menu
    Copy the full SHA
    6659865 View commit details
    Browse the repository at this point in the history
  41. std: Stabilize last bits of io::Error

    This commit stabilizes a few remaining bits of the `io::Error` type:
    
    * The `Error::new` method is now stable. The last `detail` parameter was removed
      and the second `desc` parameter was generalized to `E: Into<Box<Error>>` to
      allow creating an I/O error from any form of error. Currently there is no form
      of downcasting, but this will be added in time.
    
    * An implementation of `From<&str> for Box<Error>` was added to liballoc to
      allow construction of errors from raw strings.
    
    * The `Error::raw_os_error` method was stabilized as-is.
    
    * Trait impls for `Clone`, `Eq`, and `PartialEq` were removed from `Error` as it
      is not possible to use them with trait objects.
    
    This is a breaking change due to the modification of the `new` method as well as
    the removal of the trait implementations for the `Error` type.
    
    [breaking-change]
    alexcrichton committed Mar 31, 2015
    Configuration menu
    Copy the full SHA
    ac77392 View commit details
    Browse the repository at this point in the history
  42. rollup merge of rust-lang#23899: steveklabnik/gh23851

    Conflicts:
    	src/libcore/iter.rs
    alexcrichton committed Mar 31, 2015
    Configuration menu
    Copy the full SHA
    85e997a View commit details
    Browse the repository at this point in the history
  43. rollup merge of rust-lang#23919: alexcrichton/stabilize-io-error

    Conflicts:
    	src/libstd/fs/tempdir.rs
    	src/libstd/io/error.rs
    alexcrichton committed Mar 31, 2015
    Configuration menu
    Copy the full SHA
    50b3ecf View commit details
    Browse the repository at this point in the history
  44. Add test for rust-lang#17746

    aturon committed Mar 31, 2015
    Configuration menu
    Copy the full SHA
    55e531d View commit details
    Browse the repository at this point in the history
  45. Configuration menu
    Copy the full SHA
    371ba00 View commit details
    Browse the repository at this point in the history

Commits on Apr 1, 2015

  1. Configuration menu
    Copy the full SHA
    72f5973 View commit details
    Browse the repository at this point in the history
  2. rollup merge of rust-lang#23863: pnkfelix/arith-oflo-const-eval

    const_eval : add overflow-checking for {`+`, `-`, `*`, `/`, `<<`, `>>`}.
    
    One tricky detail here: There is some duplication of labor between `rustc::middle::const_eval` and `rustc_trans::trans::consts`. It might be good to explore ways to try to factor out the common structure to the two passes (by abstracting over the particular value-representation used in the compile-time interpreter).
    
    ----
    
    Update: Rebased atop rust-lang#23841
    
    Fix rust-lang#22531
    
    Fix rust-lang#23030
    
    Fix rust-lang#23221
    
    Fix rust-lang#23235
    alexcrichton committed Apr 1, 2015
    Configuration menu
    Copy the full SHA
    4f643d7 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    1d5ef75 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    6ebb6e6 View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    8dff0ac View commit details
    Browse the repository at this point in the history