Subteam report: libs 2016-01-22
Highlights
This week we made a number of decisions on outstanding libs PRs and github issues, which have been logged on their respective threads. RFC-wise, we've been moving a bit slowly, but we hope to make more progress on RFC shepherding now that the backlog has been cleared.
Next week we will determine the unstable APIs to put into FCP for stabilization/deprecation in Rust 1.8. Please have a look at the list and leave comments on any APIs you think we should consider.
Dashboard
High priority issues
- Issue #29008: stdlib Path has inconsistent normalisation behaviour
Issues needing a decision
RFC phase
- FCP PR #1320: Amend 1192 (RangeInclusive) to use an enum.
- PR #1218: RFC: Checked integer conversions
- PR #1258: Add macros to get the values of configuration flags
- PR #1299: std::sync::mpsc::SharedSender
- PR #1309: OS string string-like interface
- PR #1325: Add panic-safe slicing methods
- PR #1353: Add retain_mut to Vec and VecDeque
- PR #1359: RFC: Add CommandExt::{exec, before_exec}
- PR #1379: Change thread local variables to only accept async-signal-safe types.
- PR #1393:
Expand
try!macro with additional case - PR #1394:
Add
maybe!macro equivalent totry! - PR #1398: Allocators, take III
- PR #1415: RFC: Deprecate type aliases in std::os::*::raw
- PR #1419: Safe memcpy, memset for slices ([T]::{ copy_from, fill })
- PR #1423: Amend RFC 1270 to describe actual implementation
- PR #1432: String/Vec::replace_range(RangeArgument, IntoIterator)
- PR #1434: 'Contains' method for ranges
- PR #1443: Extend atomic compare_and_swap
- PR #1461: Move some net2 functionality into libstd
- PR #1465: add some! macro for unwrapping Option more safely
- PR #1467: Stabilize volatile read and write
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 #27517:
Add
ByNeedandPredicatetraits - Issue #28628: Tracking issue for forbidding wildcard deps on crates.io
- Issue #29453: Add Capacity/length methods for OsString
Stabilization phase
- FCP Issue #27713: Tracking issue for custom hashers in HashMap
- Issue #27389: Tracking issue for changing the global, default allocator (RFC 1183)
- Issue #27700: Tracking issue for allocation APIs
- Issue #27703: Tracking issue for stabilizing randomness
- Issue #27705: Tracking issue for DNS in std::net
- Issue #27708:
Tracking issue for
as_unsafe_cellstabilization - Issue #27709: Tracking issue for Ipv{4,6}Addr convenience methods
- 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 #27719:
Tracking issue for
recoverstabilization - Issue #27720: Tracking issue for OpenOptionsExt on Windows
- Issue #27721: Tracking issue for string patterns
- Issue #27726: Tracking issue for access to Formatter flags/options
- Issue #27730:
Tracking issue for
NonZero/Unique/Sharedstabilization - 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 #27738: Tracking issue for reentrant mutexes
- Issue #27739:
Tracking issue for
Zero/One/iter_arithstabilization - Issue #27741:
Tracking issue for
step_bystabilization - 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 #27751:
Tracking issue for
rawstabilization - Issue #27752:
Tracking issue for
float_extrasstabilization - Issue #27754:
Tracking issue for
str_charstabilization - Issue #27778: Tracking issue for core::array
- Issue #27779: Tracking issue for placement new
- Issue #27780: Tracking issue for <*mut T, *const T>::{as_ref, as_mut_ref}
- 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 #27791: Tracking issue for str escaping
- Issue #27794: Tracking issue for extra linked list methods
- Issue #27800: Tracking issue for channel selection
- Issue #27802: Tracking issue for Read::chars
- Issue #27809: Tracking issue for make_ascii_{upper,lower}case
- Issue #27811: Tracking issue for CommandExt::session_leader
- Issue #27812: Tracking issue for crates that are compiler dependencies
- Issue #27908: Tracking issue for drop_in_place
- Issue #28147: Tracking issue for BinaryHeap::{push_pop, replace}
- Issue #28356: Tracking issue for Arc/Rc extras
- Issue #28796: Tracking issue for FnBox()
- Issue #29553: Tracking issue for #[bench] and benchmarking support
- Issue #29791: Tracking issue for getting pthread_t from JoinHandle
- Issue #29866: Expand the std::time module
- Issue #30449: Custom panic handlers in the standard library
- Issue #30752: Tracking issue for panic::propagate
- Issue #30877: Tracking issue for RangeArgument