Skip to content

Tracking issue for libcore + no_std stabilization #27701

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

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    B-unstableBlocker: Implemented in the nightly compiler and unstable.T-langRelevant to the language teamT-libs-api[DEPRECATED; DO NOT USE]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