Closed
Description
This issue is intended to represent the outstanding issues for stabilizing libcore and allowing its usage on stable Rust. There are a number of features currently associated with libcore:
core
core_char_ext
core_prelude
core_slice_ext
core_str_ext
(note that core_float
will be handled in a separate issue)
The design of libcore largely mirrors that of the standard library (good) but there are a few deviations:
core::atomic
differs fromstd::sync::atomic
- Modules like
nonzero
,panicking
, andarray
are public
Overall there are a number of tasks that probably need to be done before stabilizing these items:
- A full audit should be done to ensure that the structure of libcore is the same as the structure of libstd
- The name
core
needs to be agreed upon as the stable name for the library - The set of extension traits for primitives needs to be decided upon. This strategy of trait-in-core and inherent-above-core should be agreed upon as the best path forward.
- The set of items in the prelude should be audited to ensure it's a subset of the standard library's
Metadata
Metadata
Assignees
Labels
Blocker: Implemented in the nightly compiler and unstable.Relevant to the language team, which will review and decide on the PR/issue.Relevant to the library API team, which will review and decide on the PR/issue.In the final comment period and will be merged soon unless new substantive objections are raised.