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

Break apart global unstable features #26192

Merged
merged 31 commits into from
Jun 18, 2015
Merged

Commits on Jun 17, 2015

  1. core: Split apart the global core feature

    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
    alexcrichton committed Jun 17, 2015
    Configuration menu
    Copy the full SHA
    c14d86f View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    c44f539 View commit details
    Browse the repository at this point in the history
  3. collections: Split the collections feature

    This commit also deprecates the `as_string` and `as_slice` free functions in the
    `string` and `vec` modules.
    alexcrichton committed Jun 17, 2015
    Configuration menu
    Copy the full SHA
    d444d0c View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    6895311 View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    ce1a965 View commit details
    Browse the repository at this point in the history
  6. std: Deprecate the RandomAccessIterator trait

    This trait has not proven itself over time as being core and fundamentally
    useful to iterators, so it's being deprecated to allow time to iterate on it out
    of tree.
    alexcrichton committed Jun 17, 2015
    Configuration menu
    Copy the full SHA
    02a8d5b View commit details
    Browse the repository at this point in the history
  7. std: Deprecate iter::{Unfold, Iterate}

    Neither of these iterators has seen enough usage to justify their position in
    the standard library, so these unstable iterators are being slated for deletion.
    alexcrichton committed Jun 17, 2015
    Configuration menu
    Copy the full SHA
    669d1cd View commit details
    Browse the repository at this point in the history
  8. std: Deprecate the copy_{,mut_}lifetime functions

    Unsafe patterns such as `slice::from_raw_parts` and `CStr::from_ptr` have shown
    that dealing with lifetimes, while useful, is often a hindrance. Consequently
    these functions are rarely called today and are being deprecated.
    alexcrichton committed Jun 17, 2015
    Configuration menu
    Copy the full SHA
    153de4c View commit details
    Browse the repository at this point in the history
  9. std: Deprecate result::fold

    This function has seen very little use and it seems better to explore this
    functionality through iterator adaptors instead of specialized functions.
    alexcrichton committed Jun 17, 2015
    Configuration menu
    Copy the full SHA
    c72e01e View commit details
    Browse the repository at this point in the history
  10. std: Deprecate the IntSliceExt trait

    This trait has seen very little usage and while safe, may not belong in the
    standard library.
    alexcrichton committed Jun 17, 2015
    Configuration menu
    Copy the full SHA
    f55c366 View commit details
    Browse the repository at this point in the history
  11. std: Remove two internal str_internals functions

    These were just exposed to be used elsewhere at some point, but neither is
    currently being used so just make them private again.
    alexcrichton committed Jun 17, 2015
    Configuration menu
    Copy the full SHA
    a05ed99 View commit details
    Browse the repository at this point in the history
  12. std: Deprecate f{32,64}::consts::PI_2

    These constants have been unstable for some time now already
    alexcrichton committed Jun 17, 2015
    Configuration menu
    Copy the full SHA
    8797c9e View commit details
    Browse the repository at this point in the history
  13. std: Stabilize the remaining wrapping_* functions

    This commit stabilizes the remaining `wrapping_*` functions on the primitive
    integer types as they follow the same conventions as other wrapping methods are
    were likely just initially unstable to be conservative.
    alexcrichton committed Jun 17, 2015
    Configuration menu
    Copy the full SHA
    cdb69e2 View commit details
    Browse the repository at this point in the history
  14. std: Deprecate all permutation-related slice methods

    These methods have been unstable for quite some time, and it's not clear that
    these should remain in the standard library.
    alexcrichton committed Jun 17, 2015
    Configuration menu
    Copy the full SHA
    f85c4f6 View commit details
    Browse the repository at this point in the history
  15. std: Deprecate Vec::from_raw_buf

    This function is more naturally expressed as slice::from_raw_buf plus a call to
    to_vec.
    alexcrichton committed Jun 17, 2015
    Configuration menu
    Copy the full SHA
    68b628b View commit details
    Browse the repository at this point in the history
  16. std: Stabilize the sync_poison feature

    These accessor/constructor methods for a `PoisonError` are quite standard for a
    wrapper type and enable manipulation of the underlying type.
    alexcrichton committed Jun 17, 2015
    Configuration menu
    Copy the full SHA
    c032d6f View commit details
    Browse the repository at this point in the history
  17. std: Stabilize the once_new feature

    This function follows the well-established "constructor" pattern and the
    initialization constant will likely be deprecated in favor of it once `const_fn`
    is stabilized.
    alexcrichton committed Jun 17, 2015
    Configuration menu
    Copy the full SHA
    f358087 View commit details
    Browse the repository at this point in the history
  18. std: Stabilize the iter_{once,empty} features

    This commit stabilizes these two iterator primitives as they have gone through
    the RFC process and had some time to bake now.
    alexcrichton committed Jun 17, 2015
    Configuration menu
    Copy the full SHA
    17a1059 View commit details
    Browse the repository at this point in the history
  19. std: Stabilize the str_matches feature

    This commit stabilizes the `str::{matches, rmatches}` functions and iterators,
    but renames the unstable feature for the `str::{matches,rmatches}_indices`
    function to `str_match_indices` due to the comment present on the functions
    about the iterator's return value.
    alexcrichton committed Jun 17, 2015
    Configuration menu
    Copy the full SHA
    2d389c1 View commit details
    Browse the repository at this point in the history
  20. std: Deprecate the io::BufStream type

    Questions about the utility of this type has caused it to move to crates.io in
    the `bufstream` crate, so this type can be deprecated.
    alexcrichton committed Jun 17, 2015
    Configuration menu
    Copy the full SHA
    0d818b4 View commit details
    Browse the repository at this point in the history
  21. std: Deprecate the exit_status feature

    These two functions should be replaceable with the `process::exit` function.
    alexcrichton committed Jun 17, 2015
    Configuration menu
    Copy the full SHA
    96cce02 View commit details
    Browse the repository at this point in the history
  22. std: Deprecate the future feature

    This commit deprecates the `sync::Future` type to be developed outside in
    crates.io instead.
    alexcrichton committed Jun 17, 2015
    Configuration menu
    Copy the full SHA
    04f7eba View commit details
    Browse the repository at this point in the history
  23. std: Deprecate the scoped feature

    The `thread::scoped` function will never be stabilized as-is and the API will
    likely change significantly if it does, so this function is deprecated for
    removal.
    alexcrichton committed Jun 17, 2015
    Configuration menu
    Copy the full SHA
    d645f8f View commit details
    Browse the repository at this point in the history
  24. std: Deprecate the thunk module

    This has been replaced with `FnBox`
    alexcrichton committed Jun 17, 2015
    Configuration menu
    Copy the full SHA
    3346fb0 View commit details
    Browse the repository at this point in the history
  25. std: Move free-functions to associated functions

    This commit moves the free functions in the `rc`, `arc`, and `boxed` modules to
    associated functions on their respective types, following the recent trend
    towards this pattern. The previous free functions are all left in-place with
    `#[deprecated]` pointers towards the new locations.
    
    This commit also deprecates `arc::get_mut` and `Arc::make_unique` with no
    replacement as they are racy in the face of weak pointers.
    alexcrichton committed Jun 17, 2015
    Configuration menu
    Copy the full SHA
    aa931e9 View commit details
    Browse the repository at this point in the history
  26. Configuration menu
    Copy the full SHA
    b4a2823 View commit details
    Browse the repository at this point in the history
  27. std: Update stable since for core::char

    Also add `#[doc(hidden)]` to a few internal functions.
    alexcrichton committed Jun 17, 2015
    Configuration menu
    Copy the full SHA
    252ef28 View commit details
    Browse the repository at this point in the history
  28. std: Hide some internal functions more aggressively

    * Add `#[doc(hidden)]`
    * Rename away from `Error::description`
    alexcrichton committed Jun 17, 2015
    Configuration menu
    Copy the full SHA
    edf9335 View commit details
    Browse the repository at this point in the history
  29. std: Stabilize vec_map::Entry::or_insert{,_with}

    These functions mirror the other Entry APIs of other maps, and were mistakenly
    just not stabilized the first time around.
    alexcrichton committed Jun 17, 2015
    Configuration menu
    Copy the full SHA
    c9b40a3 View commit details
    Browse the repository at this point in the history
  30. Add comment about stabilizing CString::from_ptr

    This naming needs to consider the raw vs ptr naming of
    Box/CStr/CString/slice/etc.
    alexcrichton committed Jun 17, 2015
    Configuration menu
    Copy the full SHA
    913c227 View commit details
    Browse the repository at this point in the history

Commits on Jun 18, 2015

  1. Fix libstd tests

    alexcrichton committed Jun 18, 2015
    Configuration menu
    Copy the full SHA
    ec33338 View commit details
    Browse the repository at this point in the history