integrate Lazy into std layout
This commit refactors the initial implementation to fit into std and makes some other changes: - use MaybeUninit internally in SyncOnceCell - correctly impl Drop for lazy::Once - port Lazy::take from once_cell from: https://github.com/matklad/once_cell/pull/100 Co-Authored-By: Paul Dicker <pitdicker@users.noreply.github.com>
This commit is contained in:
parent
cac1768b03
commit
237a97760a
7 changed files with 1004 additions and 548 deletions
|
@ -285,6 +285,7 @@
|
|||
#![feature(linkage)]
|
||||
#![feature(llvm_asm)]
|
||||
#![feature(log_syntax)]
|
||||
#![feature(maybe_uninit_extra)]
|
||||
#![feature(maybe_uninit_ref)]
|
||||
#![feature(maybe_uninit_slice)]
|
||||
#![feature(min_specialization)]
|
||||
|
@ -292,6 +293,7 @@
|
|||
#![feature(negative_impls)]
|
||||
#![feature(never_type)]
|
||||
#![feature(nll)]
|
||||
#![feature(once_cell)]
|
||||
#![feature(optin_builtin_traits)]
|
||||
#![feature(or_patterns)]
|
||||
#![feature(panic_info_message)]
|
||||
|
@ -476,10 +478,7 @@ pub mod process;
|
|||
pub mod sync;
|
||||
pub mod time;
|
||||
|
||||
#[unstable(
|
||||
feature = "std_lazy",
|
||||
issue = "99",
|
||||
)]
|
||||
#[unstable(feature = "once_cell", issue = "68198")]
|
||||
pub mod lazy;
|
||||
|
||||
#[stable(feature = "futures_api", since = "1.36.0")]
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue