1. 12 11月, 2015 1 次提交
  2. 13 10月, 2015 1 次提交
  3. 11 9月, 2015 2 次提交
  4. 06 9月, 2015 1 次提交
  5. 18 8月, 2015 1 次提交
  6. 17 8月, 2015 1 次提交
  7. 16 8月, 2015 1 次提交
  8. 13 8月, 2015 1 次提交
  9. 10 8月, 2015 1 次提交
  10. 28 7月, 2015 1 次提交
  11. 20 7月, 2015 1 次提交
  12. 09 7月, 2015 1 次提交
    • U
      Use vec![elt; n] where possible · 836f32e7
      Ulrik Sverdrup 提交于
      The common pattern `iter::repeat(elt).take(n).collect::<Vec<_>>()` is
      exactly equivalent to `vec![elt; n]`, do this replacement in the whole
      tree.
      
      (Actually, vec![] is smart enough to only call clone n - 1 times, while
      the former solution would call clone n times, and this fact is
      virtually irrelevant in practice.)
      836f32e7
  13. 18 6月, 2015 1 次提交
  14. 11 6月, 2015 2 次提交
  15. 16 5月, 2015 1 次提交
  16. 01 4月, 2015 1 次提交
  17. 31 3月, 2015 1 次提交
  18. 27 3月, 2015 1 次提交
  19. 24 3月, 2015 3 次提交
    • A
      Test fixes and rebase conflicts, round 2 · 29b54387
      Alex Crichton 提交于
      29b54387
    • A
      Add generic conversion traits · 8389253d
      Aaron Turon 提交于
      This commit:
      
      * Introduces `std::convert`, providing an implementation of
      RFC 529.
      
      * Deprecates the `AsPath`, `AsOsStr`, and `IntoBytes` traits, all
      in favor of the corresponding generic conversion traits.
      
        Consequently, various IO APIs now take `AsRef<Path>` rather than
      `AsPath`, and so on. Since the types provided by `std` implement both
      traits, this should cause relatively little breakage.
      
      * Deprecates many `from_foo` constructors in favor of `from`.
      
      * Changes `PathBuf::new` to take no argument (creating an empty buffer,
        as per convention). The previous behavior is now available as
        `PathBuf::from`.
      
      * De-stabilizes `IntoCow`. It's not clear whether we need this separate trait.
      
      Closes #22751
      Closes #14433
      
      [breaking-change]
      8389253d
    • B
      Add #![feature] attributes to doctests · e9019101
      Brian Anderson 提交于
      e9019101
  20. 14 3月, 2015 1 次提交
  21. 06 3月, 2015 1 次提交
  22. 03 3月, 2015 1 次提交
    • I
      Enable recursion for visit_ty in lint visitor · 2b037186
      Ivan Petkov 提交于
      * The lint visitor's visit_ty method did not recurse, and had a
        reference to the now closed #10894
      * The newly enabled recursion has only affected the `deprectated` lint
        which now detects uses of deprecated items in trait impls and
        function return types
      * Renamed some references to `CowString` and `CowVec` to `Cow<str>` and
        `Cow<[T]>`, respectively, which appear outside of the crate which
        defines them
      * Replaced a few instances of `InvariantType<T>` with
        `PhantomData<Cell<T>>`
      * Disabled the `deprecated` lint in several places that
        reference/implement traits on deprecated items which will get cleaned
        up in the future
      * Disabled the `exceeding_bitshifts` lint for
        compile-fail/huge-array-simple test so it doesn't shadow the expected
        error on 32bit systems
      * Unfortunately, this means that if a library declares
        `#![deny(deprecated)]` and marks anything as deprecated, it will have
        to disable the lint for any uses of said item, e.g. any impl the now
        deprecated item
      
      For any library that denies deprecated items but has deprecated items
      of its own, this is a [breaking-change]
      2b037186
  23. 20 2月, 2015 1 次提交
  24. 19 2月, 2015 3 次提交
    • A
      Round 3 test fixes and conflicts · d6e939a2
      Alex Crichton 提交于
      d6e939a2
    • A
      Stabilize std::borrow · a99e6986
      Aaron Turon 提交于
      This commit stabilizes `std::borrow`, making the following modifications
      to catch up the API with language changes:
      
      * It renames `BorrowFrom` to `Borrow`, as was originally intended (but
        blocked for technical reasons), and reorders the parameters
        accordingly.
      
      * It moves the type parameter of `ToOwned` to an associated type. This
        is somewhat less flexible, in that each borrowed type must have a
        unique owned type, but leads to a significant simplification for
        `Cow`. Flexibility can be regained by using newtyped slices, which is
        advisable for other reasons anyway.
      
      * It removes the owned type parameter from `Cow`, making the type much
        less verbose.
      
      * Deprecates the `is_owned` and `is_borrowed` predicates in favor of
        direct matching.
      
      The above API changes are relatively minor; the basic functionality
      remains the same, and essentially the whole module is now marked
      `#[stable]`.
      
      [breaking-change]
      a99e6986
    • N
      9ea84aee
  25. 18 2月, 2015 1 次提交
    • A
      std: Rename io/path features with old_ prefix · a2ebb24e
      Alex Crichton 提交于
      This commit renames the features for the `std::old_io` and `std::old_path`
      modules to `old_io` and `old_path` to help facilitate migration to the new APIs.
      
      This is a breaking change as crates which mention the old feature names now need
      to be renamed to use the new feature names.
      
      [breaking-change]
      a2ebb24e
  26. 15 2月, 2015 1 次提交
  27. 06 2月, 2015 2 次提交
  28. 03 2月, 2015 2 次提交
  29. 31 1月, 2015 2 次提交
    • A
      Test fixes and rebase conflicts · 3a2530d6
      Alex Crichton 提交于
      Also some tidying up of a bunch of crate attributes
      3a2530d6
    • A
      std: Stabilize the std::fmt module · 62273575
      Alex Crichton 提交于
      This commit performs a final stabilization pass over the std::fmt module,
      marking all necessary APIs as stable. One of the more interesting aspects of
      this module is that it exposes a good deal of its runtime representation to the
      outside world in order for `format_args!` to be able to construct the format
      strings. Instead of hacking the compiler to assume that these items are stable,
      this commit instead lays out a story for the stabilization and evolution of
      these APIs.
      
      There are three primary details used by the `format_args!` macro:
      
      1. `Arguments` - an opaque package of a "compiled format string". This structure
         is passed around and the `write` function is the source of truth for
         transforming a compiled format string into a string at runtime. This must be
         able to be constructed in stable code.
      
      2. `Argument` - an opaque structure representing an argument to a format string.
         This is *almost* a trait object as it's just a pointer/function pair, but due
         to the function originating from one of many traits, it's not actually a
         trait object. Like `Arguments`, this must be constructed from stable code.
      
      3. `fmt::rt` - this module contains the runtime type definitions primarily for
         the `rt::Argument` structure. Whenever an argument is formatted with
         nonstandard flags, a corresponding `rt::Argument` is generated describing how
         the argument is being formatted. This can be used to construct an
         `Arguments`.
      
      The primary interface to `std::fmt` is the `Arguments` structure, and as such
      this type name is stabilize as-is today. It is expected for libraries to pass
      around an `Arguments` structure to represent a pending formatted computation.
      
      The remaining portions are largely "cruft" which would rather not be stabilized,
      but due to the stability checks they must be. As a result, almost all pieces
      have been renamed to represent that they are "version 1" of the formatting
      representation. The theory is that at a later date if we change the
      representation of these types we can add new definitions called "version 2" and
      corresponding constructors for `Arguments`.
      
      One of the other remaining large questions about the fmt module were how the
      pending I/O reform would affect the signatures of methods in the module. Due to
      [RFC 526][rfc], however, the writers of fmt are now incompatible with the
      writers of io, so this question has largely been solved. As a result the
      interfaces are largely stabilized as-is today.
      
      [rfc]: https://github.com/rust-lang/rfcs/blob/master/text/0526-fmt-text-writer.md
      
      Specifically, the following changes were made:
      
      * The contents of `fmt::rt` were all moved under `fmt::rt::v1`
      * `fmt::rt` is stable
      * `fmt::rt::v1` is stable
      * `Error` is stable
      * `Writer` is stable
      * `Writer::write_str` is stable
      * `Writer::write_fmt` is stable
      * `Formatter` is stable
      * `Argument` has been renamed to `ArgumentV1` and is stable
      * `ArgumentV1::new` is stable
      * `ArgumentV1::from_uint` is stable
      * `Arguments::new_v1` is stable (renamed from `new`)
      * `Arguments::new_v1_formatted` is stable (renamed from `with_placeholders`)
      * All formatting traits are now stable, as well as the `fmt` method.
      * `fmt::write` is stable
      * `fmt::format` is stable
      * `Formatter::pad_integral` is stable
      * `Formatter::pad` is stable
      * `Formatter::write_str` is stable
      * `Formatter::write_fmt` is stable
      * Some assorted top level items which were only used by `format_args!` were
        removed in favor of static functions on `ArgumentV1` as well.
      * The formatting-flag-accessing methods remain unstable
      
      Within the contents of the `fmt::rt::v1` module, the following actions were
      taken:
      
      * Reexports of all enum variants were removed
      * All prefixes on enum variants were removed
      * A few miscellaneous enum variants were renamed
      * Otherwise all structs, fields, and variants were marked stable.
      
      In addition to these actions in the `std::fmt` module, many implementations of
      `Show` and `String` were stabilized as well.
      
      In some other modules:
      
      * `ToString` is now stable
      * `ToString::to_string` is now stable
      * `Vec` no longer implements `fmt::Writer` (this has moved to `String`)
      
      This is a breaking change due to all of the changes to the `fmt::rt` module, but
      this likely will not have much impact on existing programs.
      
      Closes #20661
      [breaking-change]
      62273575
  30. 29 1月, 2015 2 次提交