1. 02 2月, 2018 1 次提交
    • V
      Use constant for 180/π in to_degrees · e34c31bf
      varkor 提交于
      The current `f32|f64.to_degrees` implementation uses a division to calculate 180/π, which causes a loss of precision. Using a constant is still not perfect (implementing a maximally-precise algorithm would come with a high performance cost), but improves precision with a minimal change.
      e34c31bf
  2. 31 12月, 2017 1 次提交
  3. 23 12月, 2017 1 次提交
  4. 22 12月, 2017 1 次提交
  5. 31 8月, 2017 1 次提交
    • A
      Update bootstrap compiler · 2972687d
      Alex Crichton 提交于
      This commit updates the bootstrap compiler and clears out a number
      of #[cfg(stage0)] annotations and related business
      2972687d
  6. 19 7月, 2017 1 次提交
  7. 23 6月, 2017 1 次提交
  8. 15 6月, 2017 1 次提交
  9. 21 4月, 2017 1 次提交
  10. 13 10月, 2016 1 次提交
  11. 04 7月, 2016 1 次提交
    • A
      std: Stabilize APIs for the 1.11.0 release · 3016626c
      Alex Crichton 提交于
      Although the set of APIs being stabilized this release is relatively small, the
      trains keep going! Listed below are the APIs in the standard library which have
      either transitioned from unstable to stable or those from unstable to
      deprecated.
      
      Stable
      
      * `BTreeMap::{append, split_off}`
      * `BTreeSet::{append, split_off}`
      * `Cell::get_mut`
      * `RefCell::get_mut`
      * `BinaryHeap::append`
      * `{f32, f64}::{to_degrees, to_radians}` - libcore stabilizations mirroring past
        libstd stabilizations
      * `Iterator::sum`
      * `Iterator::product`
      
      Deprecated
      
      * `{f32, f64}::next_after`
      * `{f32, f64}::integer_decode`
      * `{f32, f64}::ldexp`
      * `{f32, f64}::frexp`
      * `num::One`
      * `num::Zero`
      
      Added APIs (all unstable)
      
      * `iter::Sum`
      * `iter::Product`
      * `iter::Step` - a few methods were added to accomodate deprecation of One/Zero
      
      Removed APIs
      
      * `From<Range<T>> for RangeInclusive<T>` - everything about `RangeInclusive` is
        unstable
      
      Closes #27739
      Closes #27752
      Closes #32526
      Closes #33444
      Closes #34152
      cc #34529 (new tracking issue)
      3016626c
  12. 30 6月, 2016 1 次提交
  13. 15 6月, 2016 1 次提交
  14. 12 3月, 2016 1 次提交
  15. 11 12月, 2015 1 次提交
  16. 06 12月, 2015 1 次提交
    • A
      std: Stabilize APIs for the 1.6 release · 464cdff1
      Alex Crichton 提交于
      This commit is the standard API stabilization commit for the 1.6 release cycle.
      The list of issues and APIs below have all been through their cycle-long FCP and
      the libs team decisions are listed below
      
      Stabilized APIs
      
      * `Read::read_exact`
      * `ErrorKind::UnexpectedEof` (renamed from `UnexpectedEOF`)
      * libcore -- this was a bit of a nuanced stabilization, the crate itself is now
        marked as `#[stable]` and the methods appearing via traits for primitives like
        `char` and `str` are now also marked as stable. Note that the extension traits
        themeselves are marked as unstable as they're imported via the prelude. The
        `try!` macro was also moved from the standard library into libcore to have the
        same interface. Otherwise the functions all have copied stability from the
        standard library now.
      * The `#![no_std]` attribute
      * `fs::DirBuilder`
      * `fs::DirBuilder::new`
      * `fs::DirBuilder::recursive`
      * `fs::DirBuilder::create`
      * `os::unix::fs::DirBuilderExt`
      * `os::unix::fs::DirBuilderExt::mode`
      * `vec::Drain`
      * `vec::Vec::drain`
      * `string::Drain`
      * `string::String::drain`
      * `vec_deque::Drain`
      * `vec_deque::VecDeque::drain`
      * `collections::hash_map::Drain`
      * `collections::hash_map::HashMap::drain`
      * `collections::hash_set::Drain`
      * `collections::hash_set::HashSet::drain`
      * `collections::binary_heap::Drain`
      * `collections::binary_heap::BinaryHeap::drain`
      * `Vec::extend_from_slice` (renamed from `push_all`)
      * `Mutex::get_mut`
      * `Mutex::into_inner`
      * `RwLock::get_mut`
      * `RwLock::into_inner`
      * `Iterator::min_by_key` (renamed from `min_by`)
      * `Iterator::max_by_key` (renamed from `max_by`)
      
      Deprecated APIs
      
      * `ErrorKind::UnexpectedEOF` (renamed to `UnexpectedEof`)
      * `OsString::from_bytes`
      * `OsStr::to_cstring`
      * `OsStr::to_bytes`
      * `fs::walk_dir` and `fs::WalkDir`
      * `path::Components::peek`
      * `slice::bytes::MutableByteVector`
      * `slice::bytes::copy_memory`
      * `Vec::push_all` (renamed to `extend_from_slice`)
      * `Duration::span`
      * `IpAddr`
      * `SocketAddr::ip`
      * `Read::tee`
      * `io::Tee`
      * `Write::broadcast`
      * `io::Broadcast`
      * `Iterator::min_by` (renamed to `min_by_key`)
      * `Iterator::max_by` (renamed to `max_by_key`)
      * `net::lookup_addr`
      
      New APIs (still unstable)
      
      * `<[T]>::sort_by_key` (added to mirror `min_by_key`)
      
      Closes #27585
      Closes #27704
      Closes #27707
      Closes #27710
      Closes #27711
      Closes #27727
      Closes #27740
      Closes #27744
      Closes #27799
      Closes #27801
      cc #27801 (doesn't close as `Chars` is still unstable)
      Closes #28968
      464cdff1
  17. 18 11月, 2015 1 次提交
  18. 06 10月, 2015 1 次提交
  19. 18 8月, 2015 1 次提交
    • E
      Remove dependencies on libm functions from libcore. · 1ddee807
      Eli Friedman 提交于
      There wasn't any particular reason the functions needed to be there
      anyway, so just get rid of them, and adjust libstd to compensate.
      
      With this change, libcore depends on exactly two floating-point functions:
      fmod and fmodf.  They are implicitly referenced because they are
      used to implement "%".
      1ddee807
  20. 13 8月, 2015 1 次提交
    • A
      Remove all unstable deprecated functionality · 8d90d3f3
      Alex Crichton 提交于
      This commit removes all unstable and deprecated functions in the standard
      library. A release was recently cut (1.3) which makes this a good time for some
      spring cleaning of the deprecated functions.
      8d90d3f3
  21. 04 8月, 2015 1 次提交
    • A
      syntax: Implement #![no_core] · 5cccf3cd
      Alex Crichton 提交于
      This commit is an implementation of [RFC 1184][rfc] which tweaks the behavior of
      the `#![no_std]` attribute and adds a new `#![no_core]` attribute. The
      `#![no_std]` attribute now injects `extern crate core` at the top of the crate
      as well as the libcore prelude into all modules (in the same manner as the
      standard library's prelude). The `#![no_core]` attribute disables both std and
      core injection.
      
      [rfc]: https://github.com/rust-lang/rfcs/pull/1184
      5cccf3cd
  22. 21 7月, 2015 1 次提交
    • B
      std: Create separate docs for the primitives · 8497c428
      Brian Anderson 提交于
      Having the primitive and module docs derived from the same source
      causes problems, primarily that they can't contain hyperlinks
      cross-referencing each other.
      
      This crates dedicated private modules in `std` to document the
      primitive types, then for all primitives that have a corresponding
      module, puts hyperlinks in moth the primitive docs and the module docs
      cross-linking each other.
      
      This should help clear up confusion when readers find themselves on
      the wrong page.
      8497c428
  23. 28 6月, 2015 1 次提交
    • A
      std: Avoid missing fns on i686-pc-windows-msvc · 87909582
      Alex Crichton 提交于
      It turns out that the 32-bit toolchain for MSVC has many of these functions as
      `static inline` functions in header files so there's not actually a symbol for
      Rust to call. All of the implementations just cast floats to their 64-bit
      variants and then cast back to 32-bit at the end, so the standard library now
      takes this strategy.
      87909582
  24. 21 6月, 2015 1 次提交
  25. 18 6月, 2015 2 次提交
    • A
      std: Deprecate f{32,64}::consts::PI_2 · 8797c9ec
      Alex Crichton 提交于
      These constants have been unstable for some time now already
      8797c9ec
    • A
      core: Split apart the global `core` feature · c14d86fd
      Alex Crichton 提交于
      This commit shards the broad `core` feature of the libcore library into finer
      grained features. This split groups together similar APIs and enables tracking
      each API separately, giving a better sense of where each feature is within the
      stabilization process.
      
      A few minor APIs were deprecated along the way:
      
      * Iterator::reverse_in_place
      * marker::NoCopy
      c14d86fd
  26. 22 4月, 2015 2 次提交
    • A
      std: Bring back f32::from_str_radix as an unstable API · a568a7f9
      Alex Crichton 提交于
      This API was exercised in a few tests and mirrors the `from_str_radix`
      functionality of the integer types.
      a568a7f9
    • A
      std: Remove deprecated/unstable num functionality · eeb94886
      Alex Crichton 提交于
      This commit removes all the old casting/generic traits from `std::num` that are
      no longer in use by the standard library. This additionally removes the old
      `strconv` module which has not seen much use in quite a long time. All generic
      functionality has been supplanted with traits in the `num` crate and the
      `strconv` module is supplanted with the [rust-strconv crate][rust-strconv].
      
      [rust-strconv]: https://github.com/lifthrasiir/rust-strconv
      
      This is a breaking change due to the removal of these deprecated crates, and the
      alternative crates are listed above.
      
      [breaking-change]
      eeb94886
  27. 31 3月, 2015 1 次提交
    • A
      Stabilize std::num · 232424d9
      Aaron Turon 提交于
      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 #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 #22985
      Closes #21069
      
      [breaking-change]
      232424d9
  28. 27 3月, 2015 1 次提交
  29. 24 3月, 2015 1 次提交
  30. 14 3月, 2015 1 次提交
  31. 03 3月, 2015 1 次提交
    • B
      core: Audit num module for int/uint · 76e9fa63
      Brian Anderson 提交于
      * count_ones/zeros, trailing_ones/zeros return u32, not usize
      * rotate_left/right take u32, not usize
      * RADIX, MANTISSA_DIGITS, DIGITS, BITS, BYTES are u32, not usize
      
      Doesn't touch pow because there's another PR for it.
      
      [breaking-change]
      76e9fa63
  32. 13 2月, 2015 1 次提交
  33. 25 1月, 2015 1 次提交
  34. 24 1月, 2015 3 次提交
  35. 22 1月, 2015 2 次提交