diff --git a/src/cell.rs b/src/cell.rs index 855c6aac..7f2e25a6 100644 --- a/src/cell.rs +++ b/src/cell.rs @@ -7,7 +7,8 @@ use std::cell::{Ref, RefCell, RefMut}; use std::fmt; use std::rc::Rc; -pub(crate) struct Cell { +#[doc(hidden)] +pub struct Cell { #[cfg(feature = "cell")] inner: Rc>, #[cfg(not(feature = "cell"))] @@ -30,33 +31,34 @@ impl fmt::Debug for Cell { #[cfg(feature = "cell")] impl Cell { - pub(crate) fn new(inner: T) -> Self { + pub fn new(inner: T) -> Self { Self { inner: Rc::new(UnsafeCell::new(inner)), } } - pub(crate) fn borrow(&self) -> &T { + pub fn borrow(&self) -> &T { unsafe { &*self.inner.as_ref().get() } } - pub(crate) fn borrow_mut(&self) -> &mut T { + pub fn borrow_mut(&self) -> &mut T { unsafe { &mut *self.inner.as_ref().get() } } } #[cfg(not(feature = "cell"))] impl Cell { - pub(crate) fn new(inner: T) -> Self { + pub fn new(inner: T) -> Self { Self { inner: Rc::new(RefCell::new(inner)), } } - pub(crate) fn borrow(&self) -> Ref { + pub fn borrow(&self) -> Ref { self.inner.borrow() } - pub(crate) fn borrow_mut(&self) -> RefMut { + + pub fn borrow_mut(&self) -> RefMut { self.inner.borrow_mut() } } diff --git a/src/lib.rs b/src/lib.rs index 0fd6e917..65a4e177 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -55,7 +55,8 @@ extern crate webpki; #[cfg(feature = "rust-tls")] extern crate webpki_roots; -mod cell; +#[doc(hidden)] +pub mod cell; pub mod cloneable; pub mod codec; pub mod connector;