Skip to content

Tracking issues for unstable language features used by std #94970

Open

Description

std uses a lot of unstable language features. While core will most likely always have to use language features because it defines things that are part of the core of the language, we can strive for std to eventually be free of unstable language features.

Some of these we'll need to stabilize, but some others we might be able to simply remove with some small changes to the code.

(See also #94971 for the library features used by std.)

These are the language features we currently use in std: (This does not include core or alloc.)

  • Macro related:
    • allow_internal_unsafe
    • allow_internal_unstable
    • concat_idents
    • decl_macro
    • rustc_attrs: rustc_macro_transparency
  • Const eval:
    • const_mut_refs
    • const_trait_impl
  • Panic related:
    • rustc_attrs: rustc_builtin_macro(std_panic)
    • lang_items: begin_panic
    • rustc_attrs: rustc_do_not_const_check
    • needs_panic_runtime
  • Global allocator: (RFC 2492 might be of help here)
    • alloc_error_handler
    • allocator_internals
  • Diagnostics:
    • deprecated_suggestion
    • must_not_suspend
    • rustc_attrs: rustc_conversion_suggestion
    • rustc_attrs: rustc_diagnostic_item
    • rustc_attrs: rustc_insignificant_dtor
    • rustc_attrs: rustc_lint_query_instability
  • Rustdoc:
    • doc_cfg
    • doc_cfg_hide
    • rustdoc_internals
    • doc_masked
    • doc_notable_trait
    • intra_doc_pointers
  • Other language features:
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Assignees

No one assigned

    Labels

    T-langRelevant to the language team, which will review and decide on the PR/issue.T-libsRelevant to the library team, which will review and decide on the PR/issue.metabugIssues about issues themselves ("bugs about bugs")

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions