Skip to content

APIs stabilization metabug #24028

Closed
Closed
@alexcrichton

Description

@alexcrichton

We will eventually need a process for API stabilization planning and discussion, but while we're first getting used to the 6 week cadence, we'll use this issue for tracking.

Planned for 1.0 stable

  • str::Utf8Error (switch from enum to opaque struct, with accessor for "last valid byte position")
  • io::Error::from_raw_os_error
  • Clone::clone_from (likely)

Planned for 1.1 beta

Planned for 1.1 stable

  • thread::catch_panic
  • time::Duration
  • debug builders
  • collections::Bound
  • One/Zero + .sum / .product
  • iter::StepBy -- decide what to do on a negative step
  • Box::from_raw, boxed::into_raw
  • char::encode_utf{8,16}

APIs with known problems/requiring more thought

  • iter::order -- would prefer to use comparison operators
  • alloc::heap -- huge risks for future tracing support etc.
  • IteratorExt::{min,max}_by -- sort_by takes a comparison fn, but min_by/max_by take a "scoring" fn #15311
  • <[_]>::position_elem
  • #[bench] -- want more pluggable framework
  • std::slice::bytes -- wants more design work
  • char::width
  • Read::chars -- has problematic error type; should this even be provided given how slow it is?
  • iter::range_inclusive -- replace with adapters
  • collections::{BitVec, VecMap} -- need clearer policy on what ships in collections
  • mem::copy{,_mut}_lifetime, ptr::Unique -- wants more general design for "safer unsafe patterns"

Slated for eventual deprecation/removal (if unstable)

  • Vec::push_all
  • Vec::from_raw_buf
  • FromPrimitive/ToPrimitive/NumCast (will be replaced with more general failable cast)

Far-future

  • raw::TraitObject
  • intrinsics::volatile_set_memory
  • intrinsics::type_name

Metadata

Metadata

Assignees

No one assigned

    Labels

    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