-
Notifications
You must be signed in to change notification settings - Fork 13.9k
Closed
Milestone
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::pathtostd::old_path; introduce newstd::path#21759 Expose more of std::path #22208 std: Add a newenvmodule #21787 std: Addiomodule again #21835 std: Add a newfsmodule #21936 std: Add anetmodule 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
asciimodule #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
hashmodule #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 theiomodule #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::extensionsmodule #22880 - Land: std::ptr changes (@alexcrichton) - std: Stabilize some
ptrfunctions #22729 - Stabilize: std::env (move to new path) - std: Move std::env to the new I/O APIs #22727, std: Stabilize the
envmodule #22869 - Stabilize: std::process - std: Stabilize the
processmodule #22882 - Stabilize: std::ffi::OsStr/OsString - std: Stabilize the
ffimodule #22975 - Generic conversation traits,
AsSlice,Str: get RFC going again
Week of Mar 2
- Stabilize: some of std::io - std: Stabilize portions of the
iomodule #23010 - Stabilize: std::fs - std: Stabilize the
fsmodule #23081 - Stabilize: std::net - Tweaks to std::net address types rfcs#923, std: Stabilize the
netmodule #23352 - Stabilize: std::ffi::CString - std: Stabilize the
ffimodule #22975 - Stabilize: Unicode stuff in StrExt + CharExt - std: Stabilize more of the
charmodule #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
iomodule #23292 - Decide on TempDir/temp_dir - std: Stabilize the
fsmodule #23081
Week of Mar 9 - Possible to run serious code on stable Rust
- Stabilize: all of std::io - std: Stabilize the
iomodule #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_localchanges @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::Durationto 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::platformextensions - std: Stabilize portions ofstd::os::$platform#23353 -
thread::sleep- std: Implementthread::sleep#23330 - reverse DNS lookup
std::netlacks reverse DNS lookup #22608
Unicode manipulation
-
char::CharExt::encode_utf8 -
char::CharExt::to_uppercase- std: Stabilize more of thecharmodule #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_nanStabilize std::num #23549 -
num::FromPrimitive -
num::Int::absStabilize std::num #23549 -
num::cast -
num::f64::to_str_digits -
num::from_str_radixStabilize 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