aboutsummaryrefslogtreecommitdiff
path: root/src/deferred.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/deferred.rs')
-rw-r--r--src/deferred.rs8
1 files changed, 4 insertions, 4 deletions
diff --git a/src/deferred.rs b/src/deferred.rs
index 9f4869b..d953c46 100644
--- a/src/deferred.rs
+++ b/src/deferred.rs
@@ -16,7 +16,7 @@ type Data = [usize; DATA_WORDS];
/// A `FnOnce()` that is stored inline if small, or otherwise boxed on the heap.
///
/// This is a handy way of keeping an unsized `FnOnce()` within a sized structure.
-pub struct Deferred {
+pub(crate) struct Deferred {
call: unsafe fn(*mut u8),
data: Data,
_marker: PhantomData<*mut ()>, // !Send + !Sync
@@ -30,7 +30,7 @@ impl fmt::Debug for Deferred {
impl Deferred {
/// Constructs a new `Deferred` from a `FnOnce()`.
- pub fn new<F: FnOnce()>(f: F) -> Self {
+ pub(crate) fn new<F: FnOnce()>(f: F) -> Self {
let size = mem::size_of::<F>();
let align = mem::align_of::<F>();
@@ -73,13 +73,13 @@ impl Deferred {
/// Calls the function.
#[inline]
- pub fn call(mut self) {
+ pub(crate) fn call(mut self) {
let call = self.call;
unsafe { call(&mut self.data as *mut Data as *mut u8) };
}
}
-#[cfg(test)]
+#[cfg(all(test, not(crossbeam_loom)))]
mod tests {
use super::Deferred;
use std::cell::Cell;