Skip to content

Tracking issue for libcore + no_std stabilization #27701

Closed
@alexcrichton

Description

@alexcrichton

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 from std::sync::atomic
  • Modules like nonzero, panicking, and array 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

No one assigned

    Labels

    B-unstableBlocker: Implemented in the nightly compiler and unstable.T-langRelevant to the language team, which will review and decide on the PR/issue.T-libs-apiRelevant to the library API team, which will review and decide on the PR/issue.final-comment-periodIn the final comment period and will be merged soon unless new substantive objections are raised.

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions