Rename Freeze to FreezeLock

This commit is contained in:
John Kåre Alsaker 2023-09-02 01:28:04 +02:00
parent 50f0d666d3
commit a3ad045ea4
4 changed files with 14 additions and 12 deletions

View file

@ -62,7 +62,7 @@ pub use vec::{AppendOnlyIndexVec, AppendOnlyVec};
mod vec;
mod freeze;
pub use freeze::{Freeze, FreezeReadGuard, FreezeWriteGuard};
pub use freeze::{FreezeLock, FreezeReadGuard, FreezeWriteGuard};
mod mode {
use super::Ordering;

View file

@ -12,7 +12,7 @@ use std::{
///
/// Unlike `RwLock`, it can be used to prevent mutation past a point.
#[derive(Default)]
pub struct Freeze<T> {
pub struct FreezeLock<T> {
data: UnsafeCell<T>,
frozen: AtomicBool,
@ -21,9 +21,9 @@ pub struct Freeze<T> {
}
#[cfg(parallel_compiler)]
unsafe impl<T: DynSync + DynSend> DynSync for Freeze<T> {}
unsafe impl<T: DynSync + DynSend> DynSync for FreezeLock<T> {}
impl<T> Freeze<T> {
impl<T> FreezeLock<T> {
#[inline]
pub fn new(value: T) -> Self {
Self { data: UnsafeCell::new(value), frozen: AtomicBool::new(false), lock: RwLock::new(()) }
@ -71,8 +71,8 @@ impl<T> Freeze<T> {
}
}
/// A guard holding shared access to a `Freeze` which is in a locked state or frozen.
#[must_use = "if unused the Freeze may immediately unlock"]
/// A guard holding shared access to a `FreezeLock` which is in a locked state or frozen.
#[must_use = "if unused the FreezeLock may immediately unlock"]
pub struct FreezeReadGuard<'a, T> {
_lock_guard: Option<ReadGuard<'a, ()>>,
data: &'a T,
@ -86,8 +86,8 @@ impl<'a, T: 'a> Deref for FreezeReadGuard<'a, T> {
}
}
/// A guard holding mutable access to a `Freeze` which is in a locked state or frozen.
#[must_use = "if unused the Freeze may immediately unlock"]
/// A guard holding mutable access to a `FreezeLock` which is in a locked state or frozen.
#[must_use = "if unused the FreezeLock may immediately unlock"]
pub struct FreezeWriteGuard<'a, T> {
_lock_guard: WriteGuard<'a, ()>,
data: &'a mut T,