Closed
Description
This is a tracking issue for stabilization of both APIs and gated features.
Library stabilization
Schedule
GUIDE:
- "Land" refers to landing larger changes
- "Stabilize" means marking
#[stable]
, no deep changes anticipated - Items are checked off when a PR is open for them
Week of Feb 9
- Land: all path/IO reform PRs Add ffi::OsString and OsStr #21488 Add std::process #22119 Rename
std::path
tostd::old_path
; introduce newstd::path
#21759 Expose more of std::path #22208 std: Add a newenv
module #21787 std: Addio
module again #21835 std: Add a newfs
module #21936 std: Add anet
module for TCP/UDP #22015 - Land: std::env changes std: Tweak the std::env OsString/String interface #22188
- Stabilize: IntoIterator::into_iter
- Stabilize: std::ascii std: Stabilize the
ascii
module #22024
Week of Feb 16 - alpha2
- Land: Kimundi's revised str API Add a generic string pattern matching API rfcs#528 Basic implementation of the string pattern API #22466
- Land: integer audit (tracking: Audit integer types in the standard library #22240)
- Land: std::ffi::CString changes std: Implement CString-related RFCs #22482
- Land: uses of new io stuff
- Stabilize: std::hash std: Stabilize the
hash
module #22480 - Stabilize: std::borrow Stabilize std::borrow #22210
- Stabilize: IntoIterator std: Stabilize the IntoIterator trait #22454
- Stabilize: std::marker Implement variance RFC #738 #22286
- Stabilize: std::thread Revise std::thread #22435
- Stabilize: uses of #[derive] Audit #[derive]s in std for stability #22511
- Stabilize: range/iteration story @aturon Deprecate range, range_step, count, distributions #23347
Week of Feb 23
- Land: overflow changes @nikomatsakis Implement arithmetic overflow changes #22532
- RFC: stdin/stdout/stderr - Amend RFC 517: Add material for stdio rfcs#899, std: Implement stdio for
std::io
#22797 - Deprecate
old_io::process
- std: Deprecate the old_io::process module #23079 - Deprecate
old_io::util
- std: Stabilize portions of theio
module #23010 - Deprecate
old_io::net
- std: Deprecate the std::old_io::net primitives #22813 - Deprecate
old_io::fs
- std: Deprecate std::old_io::fs #22873 - Deprecate
old_io::extensions
- std: Deprecated theold_io::extensions
module #22880 - Land: std::ptr changes (@alexcrichton) - std: Stabilize some
ptr
functions #22729 - Stabilize: std::env (move to new path) - std: Move std::env to the new I/O APIs #22727, std: Stabilize the
env
module #22869 - Stabilize: std::process - std: Stabilize the
process
module #22882 - Stabilize: std::ffi::OsStr/OsString - std: Stabilize the
ffi
module #22975 - Generic conversation traits,
AsSlice
,Str
: get RFC going again
Week of Mar 2
- Stabilize: some of std::io - std: Stabilize portions of the
io
module #23010 - Stabilize: std::fs - std: Stabilize the
fs
module #23081 - Stabilize: std::net - Tweaks to std::net address types rfcs#923, std: Stabilize the
net
module #23352 - Stabilize: std::ffi::CString - std: Stabilize the
ffi
module #22975 - Stabilize: Unicode stuff in StrExt + CharExt - std: Stabilize more of the
char
module #23126 - Land: revisions to Path (probably involving normalization) - @aturon Stabilize std::path #23229
- Finalize RFC: stdin/stdout/stderr - Amend RFC 517: Add material for stdio rfcs#899, std: Stabilize the
io
module #23292 - Decide on TempDir/temp_dir - std: Stabilize the
fs
module #23081
Week of Mar 9 - Possible to run serious code on stable Rust
- Stabilize: all of std::io - std: Stabilize the
io
module #23292 - Stabilize: std::path - Stabilize std::path #23229
- Several of top ten crates run on Rust Stable
- Stabilize: APIs by demand (TBD)
- Land: polish/tweaks (TBD)
Week of Mar 16
- Stabilize: std::error @aturon (needs Reflect) Stabilize the Error trait #23541
- Stabilize:
Entry
@aturon Stabilize Entry types #23509 - Land: final changes to std::num @aturon Stabilize std::num #23549
- Land:
thread_local
changes @aturon Implement RFC 909: move thread_local into thread #23557 - Finalize RFC: Generic conversation traits,
AsSlice
,Str
- @aturon RFC: Generic conversion traits rfcs#529 23538
Week of Mar 23
- Stabilize: rt::unwind::try @alexcrichton std: Reexport std::rt::unwind::try in std::thread #23651
- Stabilize: APIs by demand (TBD)
- Land: polish/tweaks (TBD)
- Remove: deprecated features
- Stabilize or remove: thunk - Add (unstable) FnBox trait as a nicer replacement for
Thunk
. #23939 - Migrate
std::time::Duration
to libtime if nothing else has happened
Week of Mar 30 - beta
- Top 10 crates on crates.io can compile on stable - https://etherpad.mozilla.org/rust-crate-stability-blockers
Library grab-bag
This is a non-exhaustive list of APIs to polish/stabilize:
IO remnants
- Must have: Tracking issue for RFC 517: IO reform #21070
- Normalization for paths - Stabilize std::path #23229
-
std::os::platform
extensions - std: Stabilize portions ofstd::os::$platform
#23353 -
thread::sleep
- std: Implementthread::sleep
#23330 - reverse DNS lookup
std::net
lacks reverse DNS lookup #22608
Unicode manipulation
-
char::CharExt::encode_utf8
-
char::CharExt::to_uppercase
- std: Stabilize more of thechar
module #23126 -
str::StrExt::char_at
- std: Tweak some unstable features ofstr
#23461 -
str::StrExt::char_range_at_reverse
- std: Tweak some unstable features ofstr
#23461 -
str::StrExt::char_range_at
- std: Tweak some unstable features ofstr
#23461 -
str::StrExt::escape_default
-
str::StrExt::is_char_boundary
- std: Tweak some unstable features ofstr
#23461 -
str::StrExt::slice_shift_char
- std: Tweak some unstable features ofstr
#23461 -
unicode::str::utf16_items
std::num
-
num::Float::is_nan
Stabilize std::num #23549 -
num::FromPrimitive
-
num::Int::abs
Stabilize std::num #23549 -
num::cast
-
num::f64::to_str_digits
-
num::from_str_radix
Stabilize std::num #23549
Collections and iteration
-
collections::HashMap::with_capacity_and_hash_state
-
iter::IteratorExt::cloned
-
iter::IteratorExt::partition
-
slice::SliceExt::position_elem
-
slice::SliceExt::tail
-
str::StrExt::split_terminator
- Basic implementation of the string pattern API #22466 -
vec::Vec::into_boxed_slice
std::ptr
, raw
-
ptr::Unique
-
ptr::copy_memory
-
ptr::copy_nonoverlapping_memory
-
ptr::set_memory
-
ptr::zero_memory
-
raw::TraitObject
Probably post 1.0:
-
rt::heap::*
Non-library tracking
Crates to move out
-
libtest