use super::raw_rwlock::RawGcSafeRwLock;
pub type GcSafeRwLock<T> = lock_api::RwLock<RawGcSafeRwLock, T>;
pub const fn const_gc_safe_rwlock<T>(val: T) -> GcSafeRwLock<T> {
GcSafeRwLock::const_new(<RawGcSafeRwLock as lock_api::RawRwLock>::INIT, val)
}
pub type GcSafeRwLockReadGuard<'a, T> = lock_api::RwLockReadGuard<'a, RawGcSafeRwLock, T>;
pub type GcSafeRwLockWriteGuard<'a, T> = lock_api::RwLockWriteGuard<'a, RawGcSafeRwLock, T>;
pub type MappedGcSafeRwLockReadGuard<'a, T> =
lock_api::MappedRwLockReadGuard<'a, RawGcSafeRwLock, T>;
pub type MappedGcSafeRwLockWriteGuard<'a, T> =
lock_api::MappedRwLockWriteGuard<'a, RawGcSafeRwLock, T>;
pub type GcSafeRwLockUpgradableReadGuard<'a, T> =
lock_api::RwLockUpgradableReadGuard<'a, RawGcSafeRwLock, T>;