1. 31 3月, 2015 1 次提交
  2. 29 3月, 2015 1 次提交
    • S
      Remove IteratorExt · d502f422
      Steven Fackler 提交于
      All methods are inlined into Iterator with `Self: Sized` bounds to make
      sure Iterator is still object safe.
      
      [breaking-change]
      d502f422
  3. 28 3月, 2015 1 次提交
  4. 27 3月, 2015 2 次提交
  5. 24 3月, 2015 1 次提交
  6. 21 3月, 2015 1 次提交
    • A
      std: Remove old_io/old_path from the prelude · 212e0318
      Alex Crichton 提交于
      This commit removes the reexports of `old_io` traits as well as `old_path` types
      and traits from the prelude. This functionality is now all deprecated and needs
      to be removed to make way for other functionality like `Seek` in the `std::io`
      module (currently reexported as `NewSeek` in the io prelude).
      
      Closes #23377
      Closes #23378
      212e0318
  7. 19 3月, 2015 1 次提交
  8. 17 3月, 2015 2 次提交
  9. 14 3月, 2015 1 次提交
  10. 12 3月, 2015 1 次提交
  11. 26 2月, 2015 1 次提交
    • H
      Check stability of struct fields. · 19cb8f32
      Huon Wilson 提交于
      We were recording stability attributes applied to fields in the
      compiler, and even annotating it in the libs, but the compiler didn't
      actually do the checks to give errors/warnings in user crates.
      19cb8f32
  12. 25 2月, 2015 1 次提交
  13. 18 2月, 2015 1 次提交
  14. 12 2月, 2015 1 次提交
    • A
      rustc: Fix a number of stability lint holes · bbbb571f
      Alex Crichton 提交于
      There are a number of holes that the stability lint did not previously cover,
      including:
      
      * Types
      * Bounds on type parameters on functions and impls
      * Where clauses
      * Imports
      * Patterns (structs and enums)
      
      These holes have all been fixed by overriding the `visit_path` function on the
      AST visitor instead of a few specialized cases. This change also necessitated a
      few stability changes:
      
      * The `collections::fmt` module is now stable (it was already supposed to be).
      * The `thread_local::imp::Key` type is now stable (it was already supposed to
        be).
      * The `std::rt::{begin_unwind, begin_unwind_fmt}` functions are now stable.
        These are required via the `panic!` macro.
      * The `std::old_io::stdio::{println, println_args}` functions are now stable.
        These are required by the `print!` and `println!` macros.
      * The `ops::{FnOnce, FnMut, Fn}` traits are now `#[stable]`. This is required to
        make bounds with these traits stable. Note that manual implementations of
        these traits are still gated by default, this stability only allows bounds
        such as `F: FnOnce()`.
      
      Additionally, the compiler now has special logic to ignore its own generated
      `__test` module for the `--test` harness in terms of stability.
      
      Closes #8962
      Closes #16360
      Closes #20327
      
      [breaking-change]
      bbbb571f
  15. 06 2月, 2015 1 次提交
  16. 29 1月, 2015 1 次提交
  17. 27 1月, 2015 4 次提交
    • J
    • A
      std: Rename Writer::write to Writer::write_all · 5d836cdf
      Alex Crichton 提交于
      In preparation for upcoming changes to the `Writer` trait (soon to be called
      `Write`) this commit renames the current `write` method to `write_all` to match
      the semantics of the upcoming `write_all` method. The `write` method will be
      repurposed to return a `usize` indicating how much data was written which
      differs from the current `write` semantics. In order to head off as much
      unintended breakage as possible, the method is being deprecated now in favor of
      a new name.
      
      [breaking-change]
      5d836cdf
    • A
      Fallout of io => old_io · 3a07f859
      Alex Crichton 提交于
      3a07f859
    • A
      std: Rename io to old_io · f72b1645
      Alex Crichton 提交于
      In preparation for the I/O rejuvination of the standard library, this commit
      renames the current `io` module to `old_io` in order to make room for the new
      I/O modules. It is expected that the I/O RFCs will land incrementally over time
      instead of all at once, and this provides a fresh clean path for new modules to
      enter into as well as guaranteeing that all old infrastructure will remain in
      place for some time.
      
      As each `old_io` module is replaced it will be deprecated in-place for new
      structures in `std::{io, fs, net}` (as appropriate).
      
      This commit does *not* leave a reexport of `old_io as io` as the deprecation
      lint does not currently warn on this form of use. This is quite a large breaking
      change for all imports in existing code, but all functionality is retained
      precisely as-is and path statements simply need to be renamed from `io` to
      `old_io`.
      
      [breaking-change]
      f72b1645
  18. 24 1月, 2015 1 次提交
  19. 22 1月, 2015 3 次提交
  20. 21 1月, 2015 1 次提交
    • A
      std: Rename Show/String to Debug/Display · 3cb9fa26
      Alex Crichton 提交于
      This commit is an implementation of [RFC 565][rfc] which is a stabilization of
      the `std::fmt` module and the implementations of various formatting traits.
      Specifically, the following changes were performed:
      
      [rfc]: https://github.com/rust-lang/rfcs/blob/master/text/0565-show-string-guidelines.md
      
      * The `Show` trait is now deprecated, it was renamed to `Debug`
      * The `String` trait is now deprecated, it was renamed to `Display`
      * Many `Debug` and `Display` implementations were audited in accordance with the
        RFC and audited implementations now have the `#[stable]` attribute
        * Integers and floats no longer print a suffix
        * Smart pointers no longer print details that they are a smart pointer
        * Paths with `Debug` are now quoted and escape characters
      * The `unwrap` methods on `Result` now require `Display` instead of `Debug`
      * The `Error` trait no longer has a `detail` method and now requires that
        `Display` must be implemented. With the loss of `String`, this has moved into
        libcore.
      * `impl<E: Error> FromError<E> for Box<Error>` now exists
      * `derive(Show)` has been renamed to `derive(Debug)`. This is not currently
        warned about due to warnings being emitted on stage1+
      
      While backwards compatibility is attempted to be maintained with a blanket
      implementation of `Display` for the old `String` trait (and the same for
      `Show`/`Debug`) this is still a breaking change due to primitives no longer
      implementing `String` as well as modifications such as `unwrap` and the `Error`
      trait. Most code is fairly straightforward to update with a rename or tweaks of
      method calls.
      
      [breaking-change]
      Closes #21436
      3cb9fa26
  21. 20 1月, 2015 1 次提交
  22. 13 1月, 2015 1 次提交
  23. 08 1月, 2015 1 次提交
  24. 07 1月, 2015 3 次提交
  25. 04 1月, 2015 3 次提交
    • A
      Remove deprecated functionality · 7d8d06f8
      Alex Crichton 提交于
      This removes a large array of deprecated functionality, regardless of how
      recently it was deprecated. The purpose of this commit is to clean out the
      standard libraries and compiler for the upcoming alpha release.
      
      Some notable compiler changes were to enable warnings for all now-deprecated
      command line arguments (previously the deprecated versions were silently
      accepted) as well as removing deriving(Zero) entirely (the trait was removed).
      
      The distribution no longer contains the libtime or libregex_macros crates. Both
      of these have been deprecated for some time and are available externally.
      7d8d06f8
    • J
      sed -i -s 's/#\[deriving(/#\[derive(/g' **/*.rs · 351409a6
      Jorge Aparicio 提交于
      351409a6
    • J
      sed -i -s 's/\bmod,/self,/g' **/*.rs · 56dcbd17
      Jorge Aparicio 提交于
      56dcbd17
  26. 03 1月, 2015 2 次提交
    • J
    • A
      std: Stabilize the prelude module · 56290a00
      Alex Crichton 提交于
      This commit is an implementation of [RFC 503][rfc] which is a stabilization
      story for the prelude. Most of the RFC was directly applied, removing reexports.
      Some reexports are kept around, however:
      
      * `range` remains until range syntax has landed to reduce churn.
      * `Path` and `GenericPath` remain until path reform lands. This is done to
        prevent many imports of `GenericPath` which will soon be removed.
      * All `io` traits remain until I/O reform lands so imports can be rewritten all
        at once to `std::io::prelude::*`.
      
      This is a breaking change because many prelude reexports have been removed, and
      the RFC can be consulted for the exact list of removed reexports, as well as to
      find the locations of where to import them.
      
      [rfc]: https://github.com/rust-lang/rfcs/blob/master/text/0503-prelude-stabilization.md
      [breaking-change]
      
      Closes #20068
      56290a00
  27. 02 1月, 2015 2 次提交