Subteam report: libs 2015-08-14
Highlights
Starting with the current release cycle (for 1.4), we are making some changes to the stabilization process:
-
All unstable APIs now map to tracking issues. The APIs will be tagged with the issue tracking them, so when you get an error that you need a feature gate, the compiler can also tell you which issue to subscribe to for stabilization. We'll use these issues as a centralized place for discussing questions/concerns about APIs before they are stabilized.
-
Stabilization will be tied to our 6 week release cycles: at the beginning of the cycle, the team will announce a number of unstable features undergoing "final comment period" (heading either toward stabilization or deprecation). The comment period will last for the entire release cycle. One week before the release is cut, the team will make final decisions and land a PR accordingly.
This new process such give much more visibility into the feature pipeline and make the stabilization process easier to follow.
With that in mind, here are the features undergoing FCP for this cycle:
- FCP Issue #27277:
Stabilisation of
result_expect - FCP Issue #27736: Tracking issue for f{32,64}::from_str_radix
- FCP Issue #27764: Tracking issue for CStr => str conversions
- FCP Issue #27765: Tracking issue for collection append methods
- FCP Issue #27766: Tracking issue for collection split_off methods
- FCP Issue #27767: Tracking issue for VecDeque::retain
- FCP Issue #27768: Tracking issue for Box::{into_raw, from_raw}
- FCP Issue #27769: Tracking issue for CString::{from_ptr, into_ptr}
- FCP Issue #27771: Tracking issue for some Duration-taking functions
- FCP Issue #27773: Tracking issue for the socket timeout functions
- FCP Issue #27775: Tracking issue for converting slice iterators to slices
- FCP Issue #27776: Tracking issue for viewing Result/Option as slices
- FCP Issue #27785: Tracking issue for Box/String conversions
- FCP Issue #27792: Tracking issue for str::split_at
- FCP Issue #27795: Tracking issue for creating BTree{Map,Set} with a B
- FCP Issue #27797: Tracking issue for consumption into OS handles
In addition, this week we made the following decisions:
- FCP PR #1195:
ordered query API
- Close, with the hope that we can find a way to achieve these goals with a smaller API surface
- FCP PR #1192:
RFC for inclusive ranges with ...
- Merge, with the extra field for
Iteratorbeing kept unstable for the time being.
- Merge, with the extra field for
Finally, the following RFC is entering FCP this week:
- FCP PR #1198:
pretty print
Debugof tuples, tuple structs and enum variants in a single line
Dashboard
Stabilization phase
- FCP Issue #27277:
Stabilisation of
result_expect - FCP Issue #27736: Tracking issue for f{32,64}::from_str_radix
- FCP Issue #27764: Tracking issue for CStr => str conversions
- FCP Issue #27765: Tracking issue for collection append methods
- FCP Issue #27766: Tracking issue for collection split_off methods
- FCP Issue #27767: Tracking issue for VecDeque::retain
- FCP Issue #27768: Tracking issue for Box::{into_raw, from_raw}
- FCP Issue #27769: Tracking issue for CString::{from_ptr, into_ptr}
- FCP Issue #27771: Tracking issue for some Duration-taking functions
- FCP Issue #27773: Tracking issue for the socket timeout functions
- FCP Issue #27775: Tracking issue for converting slice iterators to slices
- FCP Issue #27776: Tracking issue for viewing Result/Option as slices
- FCP Issue #27785: Tracking issue for Box/String conversions
- FCP Issue #27792: Tracking issue for str::split_at
- FCP Issue #27795: Tracking issue for creating BTree{Map,Set} with a B
- FCP Issue #27797: Tracking issue for consumption into OS handles
- Issue #23284: Tracking issue for Path::relative_from stabilization
- Issue #27700: Tracking issue for allocation APIs
- Issue #27701: Tracking issue for libcore stabilization
- Issue #27702: Tracking issue for f32/f64 support in libcore
- Issue #27703: Tracking issue for stabilizing randomness
- Issue #27704: Tracking issue for OsStr conversions
- Issue #27705: Tracking issue for DNS in std::net
- Issue #27706: Tracking issue for std::fs::canonicalize
- Issue #27707: Tracking issue for fs::walk_dir
- Issue #27708:
Tracking issue for
as_unsafe_cellstabilization - Issue #27709: Tracking issue for Ipv{4,6}Addr convenience methods
- Issue #27710: Tracking issue for fs::DirBuilder
- Issue #27711:
Tracking issue for
drainstabilization - Issue #27712:
Tracking issue for
fs_modestabilization - Issue #27713: Tracking issue for custom hashers in HashMap
- Issue #27714:
Tracking issue for
str_utf16stabilization - Issue #27715: Tracking issue for Scoped TLS
- Issue #27716:
Tracking issue for
thread_local_statestabilization - Issue #27717: Tracking issue for static synchronization primitives
- Issue #27718:
Tracking issue for
Rc/Arcstabilization - Issue #27719:
Tracking issue for
catch_panicstabilization - Issue #27720: Tracking issue for OpenOptionsExt on Windows
- Issue #27721: Tracking issue for string patterns
- Issue #27722:
Tracking issue for
path_prefixstabilization - Issue #27724: Tracking issue for {min,max} on iterators
- Issue #27725:
Tracking issue for
path_extstabilization - Issue #27726: Tracking issue for access to Formatter flags/options
- Issue #27727:
Tracking issue for
path_components_peekstabilization - Issue #27728: Tracking issue for formatting with a radix
- Issue #27729:
Tracking issue for
as_slicestabilization - Issue #27730:
Tracking issue for
NonZero/Uniquestabilization - Issue #27731: Tracking issue for SIMD support
- Issue #27732: Tracking issue for DST coercions (coerce_unsized, unsize) stabilization
- Issue #27733:
Tracking issue for
borrow_statestabilization - Issue #27734: Tracking issue for concrete errors in the standard library
- Issue #27735:
Tracking issue for
IntoCowstabilization - Issue #27737:
Tracking issue for
iter_orderstabilization - Issue #27738: Tracking issue for reentrant mutexes
- Issue #27739:
Tracking issue for
Zero/One/iter_arithstabilization - Issue #27740: Tracking issue for std::slice::bytes
- Issue #27741:
Tracking issue for
step_bystabilization - Issue #27742: Tracking issue for slice_splits
- Issue #27743: Tracking issue for str::match_indices
- Issue #27744:
Tracking issue for
push_allstabilization - Issue #27745: Tracking issue for type_id stabilization
- Issue #27746:
Tracking issue for
cell_extrasstabilization - Issue #27747:
Tracking issue for
slice_concat_extstabilization - Issue #27748:
Tracking issue for
wait_timeout_withstabilization - Issue #27749:
Tracking issue for
Reflectstabilization - Issue #27750:
Tracking issue for
clone_from_slicestabilization - Issue #27751:
Tracking issue for
rawstabilization - Issue #27752:
Tracking issue for
float_extrasstabilization - Issue #27753:
Tracking issue for
num_bits_bytesstabilization - Issue #27754:
Tracking issue for
str_charstabilization - Issue #27755:
Tracking issue for
wrappingstabilization - Issue #27772: Tracking issue for Condvar::wait_timeout
- Issue #27774: Tracking issue for slice::{ref_slice, mut_ref_slice}
- Issue #27777: Tracking issue for iter::range_inclusive
- Issue #27778: Tracking issue for core::array
- Issue #27779: Tracking issue for library support of placement new
- Issue #27780: Tracking issue for <*mut T, *const T>::{as_ref, as_mut_ref}
- Issue #27781: Tracking issue for char::from_u32_unchecked
- Issue #27782: Tracking issue for DebugTuple::formatter
- Issue #27783: Tracking issue for location of facade crates
- Issue #27784: Tracking issue for char encoding methods
- Issue #27787: Tracking issue for sorted collection ranges
- Issue #27788: Tracking issue for VecDeque Extras
- Issue #27790: Tracking issue for Vec::resize
- Issue #27791: Tracking issue for str escaping
- Issue #27793: Tracking issue for str::slice_mut_unchecked
- Issue #27794: Tracking issue for extra linked list methods
- Issue #27796: Tracking issue for unix::FileTypeExt
- Issue #27798: Tracking issue for sync::Semaphore
- Issue #27799: Tracking issue for Duration::span
- Issue #27800: Tracking issue for channel selection
- Issue #27801: Tracking issue for IpAddr
- Issue #27802: Tracking issue for standard Read/Write adapters
- Issue #27809: Tracking issue for make_ascii_{upper,lower}case
- Issue #27810: Tracking issue for std::dynamic_lib
- Issue #27811: Tracking issue for CommandExt::session_leader
- Issue #27812: Tracking issue for crates that are compiler dependencies
Implementation phase
- Issue #19986: Tracking issue for collections reform part 2 (RFC 509)
- Issue #21923: Audit raw pointer to reference conventions
- Issue #22477: Tracking issue for Add a generic string pattern matching API (RFC 528)
- Issue #23055:
Tracking issue for Replace
Vec::drainby a method that accepts a range parameter (RFC 574) - Issue #24263: discriminant_value intrinsic -- tracking issue for 639
- Issue #27389: Allow changing the default allocator
- Issue #27517:
Add
ByNeedandPredicatetraits - Issue #27585:
Tracking issue for
read_exact(RFC #980)
Issues needing a decision
- Issue #26772: Fix different behaviour of OpenOptions between Windows en Linux
- Issue #27204: expose drop_in_place as ptr::drop_in_place
- Issue #27217: Add OpenOptions::exclusive
- Issue #27580: Leading plus for string to integer parsing
RFC phase
- FCP PR #1192: RFC for inclusive ranges with ...
- FCP PR #1194: RFC: Add item recovery collection APIs
- FCP PR #1198:
pretty print
Debugof tuples, tuple structs and enum variants in a single line - PR #1036: Add Builder guidelines
- PR #1100: Add thread-local custom panic handlers to customize the behavior of thread panics
- PR #1147: Target Version
- PR #1158: RFC: Expand the std::net module
- PR #1168:
Make
sizean associated constant - PR #1212: RFC: line-endings
- PR #1218: RFC: Checked integer conversions
- PR #1224: Update the RFC process with sub-teams, amongst other things.
- PR #1233: RFC: Add Box::leak to leak Box to &'static mut T
- PR #1235:
More control over
BufReader - PR #1236: RFC: Stabilize catch_panic
- PR #1238: Nonparametric dropck
- PR #1241: Forbid wildcard dependencies on crates.io
- PR #1242: RFC: policy for rust-lang crates
- PR #1252: Document and expand the open options
- PR #1255: RFC: Stabilize OS string to bytes conversions