Subteam report: libs 2016-02-01
Highlights
This week we moved several RFCs into final comment period (FCP):
- FCP PR #1299: std::sync::mpsc::SharedSender
- FCP PR #1353: Add retain_mut to Vec and VecDeque
- FCP PR #1359: RFC: Add CommandExt::{exec, before_exec}
- FCP PR #1415: RFC: Deprecate type aliases in std::os::*::raw
- FCP PR #1423: Amend RFC 1270 to describe actual implementation
We also selected unstable APIs to consider for stabilization or deprecation in Rust 1.8:
str::encode_utf16- Recommendation: stabilize (renamed from
utf16_units)
- Recommendation: stabilize (renamed from
- scoped tls
- Recommendation: deprecate (move to crates.io probably)
- cell extras
- Recommendation: stabilize
map, deprecatefilter_map, also handle other guard types
- Recommendation: stabilize
Condvar::wait_timeout_with- Recommendation: deprecate
- raw ptr
as_ref- On the fence, comments welcome!
make_ascii_uppercase- Recommendation: deprecate
drop_in_place- Recommendation: stabilize, but would like comments on
*mut Tvs&mut T
- Recommendation: stabilize, but would like comments on
- overloaded += operators
- Recommendation: stabilize
std::time- Recommendation: stabilize, but rename
duration_from_earlier
- Recommendation: stabilize, but rename
panic::recover- Recommendation: neither stabilize nor deprecate, but we would like to make a decision for the 1.9 release, so we're trying to instigate early discussion about this controversial API.
Dashboard
High priority issues
- Issue #29008: stdlib Path has inconsistent normalisation behaviour
Issues needing a decision
- Issue #31161: Implement ToSocketAddrs for &[SocketAddr]
RFC phase
- FCP PR #1299: std::sync::mpsc::SharedSender
- FCP PR #1353: Add retain_mut to Vec and VecDeque
- FCP PR #1359: RFC: Add CommandExt::{exec, before_exec}
- FCP PR #1415: RFC: Deprecate type aliases in std::os::*::raw
- FCP PR #1423: Amend RFC 1270 to describe actual implementation
- PR #1218: RFC: Checked integer conversions
- PR #1258: Add macros to get the values of configuration flags
- PR #1309: OS string string-like interface
- PR #1325: Add panic-safe slicing methods
- 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 #1419: Safe memcpy for slices ([T]::copy_from)
- 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
- PR #1479: Unix socket support in the standard library
- PR #1480: RFC proposal for thread affinity
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 #27714:
Tracking issue for
str_utf16stabilization - FCP Issue #27715: Tracking issue for Scoped TLS
- FCP Issue #27719:
Tracking issue for
recoverstabilization - FCP Issue #27746:
Tracking issue for
cell_extrasstabilization - FCP Issue #27748:
Tracking issue for
wait_timeout_withstabilization - FCP Issue #27780: Tracking issue for <*mut T, *const T>::{as_ref, as_mut_ref}
- FCP Issue #27809: Tracking issue for make_ascii_{upper,lower}case
- FCP Issue #27908: Tracking issue for drop_in_place
- FCP Issue #28235:
Tracking issue for overloaded
+=operators (RFC 953) (feature augmented_assignments) - FCP Issue #29866: Expand the std::time module
- 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 #27716:
Tracking issue for
thread_local_statestabilization - Issue #27717: Tracking issue for static synchronization primitives
- 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 #27739:
Tracking issue for
Zero/One/iter_arithstabilization - Issue #27741:
Tracking issue for
step_bystabilization - Issue #27745: Tracking issue for type_id stabilization
- Issue #27747:
Tracking issue for
slice_concat_extstabilization - 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 #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 #27811: Tracking issue for CommandExt::session_leader
- Issue #27812: Tracking issue for crates that are compiler dependencies
- Issue #28050: Set recovery methods
- 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 #30449: Custom panic handlers in the standard library
- Issue #30752: Tracking issue for panic::propagate
- Issue #30877: Tracking issue for RangeArgument
- Issue #31190: Tracking issue for CStr::from_bytes_with_nul