Skip to content
This repository has been archived by the owner. It is now read-only.
Permalink
Branch: master
Find file Copy path
Fetching contributors…
Cannot retrieve contributors at this time
248 lines (227 sloc) 12.3 KB

Subteam report: libs 2016-04-01

Highlights

We discussed several RFCs that were previously in FCP:

  • FCP PR #1398: Allocators, take III
    • Left detailed comments here and summarized here. Due to ongoing discussion and coordination with lang team, this is staying in FCP for another week.
  • FCP PR #1529: rfc 1291: Add libutil to scope of libc crate on Linux
    • Merged, due to the relevant library being both ubiquitous and in particular provided in musl (a good indicator of standardization).
  • FCP PR #1552: Add a contains method to VecDeque and LinkedList
    • Merged.

In addition, two new RFCs enter final comment period (FCP):

Both of these RFCs address the desire for additional atomic types, but through different routes; we will accept at most one of them.

We also discussed the encode_utf8 situation; this was a case where an API was stabilized within libcore by accident, but not within libstd. We landed a breaking change to the API in both locations, and moved back to proper unstable status in libcore. We consider the latter to be a bug fix, but also did due diligence in terms of trying to gauge usage (and taking into account that using the API purely through libcore is pretty niche in the first place). This was a tough call, but we believe the right thing to do in this particular case.

We reached a decision on how to accommodate u64-sized division and multiplication for Duration without breakage; see https://github.com/rust-lang/rust/pull/32515.

Finally, we are landing our first trial use of specialization within std: speeding up the to_string method on string slices!

Dashboard

High priority issues

Issues needing a decision

RFC phase

  • FCP PR #1398: Allocators, take III
  • FCP PR #1505: Add a generic Atomic type
  • FCP PR #1543: Add more integer atomic types
  • PR #1218: RFC: Checked integer conversions
  • PR #1309: OS string string-like interface
  • PR #1325: Add panic-safe slicing methods
  • PR #1353: Add retain_mut to Vec and VecDeque
  • PR #1379: Change thread local variables to only accept async-signal-safe types.
  • PR #1480: RFC proposal for thread affinity
  • PR #1502: libstd::sys, the great libstd refactor
  • PR #1521: Copy clone semantics
  • PR #1533: Keyless Entry
  • PR #1534: RFC: Saturating and checking integer wrapper types
  • PR #1542: Add TryFrom and TryInto traits
  • PR #1547: as_millis function on std::time::Duration

Implementation phase

  • Issue #5016: implement "dynamic drop" semantics using flags on the stack rather than zeroing
  • Issue #19986: Tracking issue for collections reform part 2 (RFC 509)
  • Issue #32310: Tracking issue for {Vec,String}::splice
  • Issue #32311: Tracking issue for Range*::contains
  • Issue #32313: Tracking issue for Ipv6Addr octet methods
  • Issue #32630: Tracking issue for {VecDeque,LinkedList}::contains

Stabilization phase

You can’t perform that action at this time.