mirror of
https://github.com/sxyazi/yazi.git
synced 2026-07-25 08:41:05 +00:00
..
This commit is contained in:
parent
bbf08551ae
commit
eeb4850230
1 changed files with 6 additions and 5 deletions
|
|
@ -33,9 +33,9 @@ impl<T> RoCell<T> {
|
||||||
#[inline]
|
#[inline]
|
||||||
pub fn init(&self, value: T) {
|
pub fn init(&self, value: T) {
|
||||||
unsafe {
|
unsafe {
|
||||||
debug_assert!(!*self.initialized.get());
|
#[cfg(debug_assertions)]
|
||||||
|
assert!(!self.initialized.get().replace(true));
|
||||||
*self.inner.get() = MaybeUninit::new(value);
|
*self.inner.get() = MaybeUninit::new(value);
|
||||||
*self.initialized.get() = true;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -50,8 +50,8 @@ impl<T> RoCell<T> {
|
||||||
#[inline]
|
#[inline]
|
||||||
pub fn drop(&self) -> T {
|
pub fn drop(&self) -> T {
|
||||||
unsafe {
|
unsafe {
|
||||||
debug_assert!(*self.initialized.get());
|
#[cfg(debug_assertions)]
|
||||||
*self.initialized.get() = false;
|
assert!(self.initialized.get().replace(false));
|
||||||
self.inner.get().replace(MaybeUninit::uninit()).assume_init()
|
self.inner.get().replace(MaybeUninit::uninit()).assume_init()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -66,7 +66,8 @@ impl<T> Deref for RoCell<T> {
|
||||||
|
|
||||||
fn deref(&self) -> &Self::Target {
|
fn deref(&self) -> &Self::Target {
|
||||||
unsafe {
|
unsafe {
|
||||||
debug_assert!(*self.initialized.get());
|
#[cfg(debug_assertions)]
|
||||||
|
assert!(*self.initialized.get());
|
||||||
(*self.inner.get()).assume_init_ref()
|
(*self.inner.get()).assume_init_ref()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue