Subteam report: libs 2016-05-23
This week we decided on API stabilizations for the 1.10 release:
- static sync primitives - https://github.com/rust-lang/rust/issues/27717
- deprecate
- recommend lazy static, which is destined for
stdeventually
- OpenOptionsExt on windows - https://github.com/rust-lang/rust/issues/27720
- stabilize -- alex will verify
- char encoding - https://github.com/rust-lang/rust/issues/27784
- stablize write_utf8
- don't stabilize others
- OpenOptions expansion - https://github.com/rust-lang/rust/issues/30014
- stabilize after verification
- Weak::new - https://github.com/rust-lang/rust/issues/30425
- stabilize + add default
- panic hooks - https://github.com/rust-lang/rust/issues/30449
- stabilize
- CStr::from_bytes_with_nul - https://github.com/rust-lang/rust/issues/31190
- stabilize
- SystemTime + fs::Metadata - https://github.com/rust-lang/rust/issues/31399
- stabilize
- compare_exchange - https://github.com/rust-lang/rust/issues/31767
- stabilize
- is_empty - https://github.com/rust-lang/rust/issues/32111
- deprecate
- exposing keys from Entry - https://github.com/rust-lang/rust/issues/32281
- stabilize
- unix sockets - https://github.com/rust-lang/rust/issues/32312
- stabilize
- Map values_mut - https://github.com/rust-lang/rust/issues/32551
- stabilize
- binary_search_by_key - https://github.com/rust-lang/rust/issues/33018
- stabilize
We also discussed the policy around Rust compiler version support and
rust-lang crates, which resulted in a new
policy RFC.
Finally, this week saw a
major RFC covering the regex
crate, which will ultimately transition it to 1.0 and full rust-lang status.
Highlights
Dashboard
High priority issues
Issues needing a decision
RFC phase
- 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 #1502: libstd::sys, the great libstd refactor
- PR #1533: Keyless Entry
- PR #1534: RFC: Saturating and checking integer wrapper types
- PR #1568: Stream wrappers standardization
- PR #1574: More api documentation conventions
- PR #1581:
FusedIteratormarker trait anditer::Fusespecialization - PR #1583: Add parse_generics! and parse_where! macros
- PR #1596: RFC: Float-free libcore
- PR #1618: Ergonomic format_args!
- PR #1619: Specify Rust compatibility of nursery crates
- PR #1620: regex 1.0
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
- Issue #32838: Allocator traits (tracking issue for RFC 1398)
- Issue #32976: Tracking issue for adding more atomic integer types
- Issue #33417: Tracking issue for TryFrom/TryInto traits
Stabilization phase
- FCP Issue #27717: Tracking issue for static synchronization primitives
- FCP Issue #27720: Tracking issue for OpenOptionsExt on Windows
- FCP Issue #27784: Tracking issue for char encoding methods
- FCP Issue #30014: Tracking issue for OpenOptions expansion
- FCP Issue #30425:
Tracking issue for
downgraded_weak(No way to construct std::rc::Weak without a strong reference) - FCP Issue #30449: Custom panic handlers in the standard library
- FCP Issue #31190: Tracking issue for CStr::from_bytes_with_nul
- FCP Issue #31399: Tracking issue for SystemTime accessors from fs::Metadata
- FCP Issue #31767: Tracking issue for compare_exchange
- FCP Issue #32111: Tracking issue for the Peekable::is_empty function
- FCP Issue #32281: Add methods exposing keys of BTreeMap and HashMap entries
- FCP Issue #32312: Tracking issue for Unix Sockets in the standard library
- FCP Issue #32551:
Add
values_mutto{BTree, Hash}Map - FCP Issue #33018: Tracking issue for slice::binary_search_by_key
- Issue #5016: implement "dynamic drop" semantics using flags on the stack rather than zeroing
- Issue #24263: discriminant_value intrinsic -- tracking issue for 639
- 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 #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 #27778: Tracking issue for core::array
- Issue #27779: Tracking issue for placement new
- Issue #27783: Tracking issue for location of facade crates
- 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 #27812: Tracking issue for crates that are compiler dependencies
- Issue #28147: Tracking issue for BinaryHeap::{push_pop, replace}
- Issue #28237:
Tracking issue for
...inclusive ranges (RFC #1192) - Issue #28356: Tracking issue for Arc/Rc extras
- Issue #28796: Tracking issue for FnBox()
- Issue #29553: Tracking issue for #[bench] and benchmarking support
- Issue #29625:
Tracking issue for Fn traits (
unboxed_closuresfeature) - Issue #30172: Implement placement-in protocol for relevant data structures
- Issue #30877: Tracking issue for RangeArgument
- Issue #31398: Tracking issue for CommandExt::before_exec
- Issue #32110: Tracking issue for libcore prelude traits
- Issue #32838: Allocator traits (tracking issue for RFC 1398)
- Issue #33082: Tracking issue for alloc_system/alloc_jemalloc
- Issue #33444:
Tracking issue for
Cell::get_mutandRefCell::get_mut - Issue #33577: Tracking issue for std::sync::Once poisoning