Diffstat (limited to 'src/lib.rs')
-rw-r--r--src/lib.rs15
1 files changed, 6 insertions, 9 deletions
diff --git a/src/lib.rs b/src/lib.rs
index 65cc86f..18cf980 100644
--- a/src/lib.rs
+++ b/src/lib.rs
@@ -3,6 +3,7 @@
#![cfg_attr(all(not(test), not(feature = "std")), no_std)]
#![deny(elided_lifetimes_in_paths)]
+#![deny(unsafe_code)]
#[cfg(feature = "alloc")]
extern crate alloc;
@@ -21,7 +22,7 @@ mod walk;
use core::ops::ControlFlow;
pub use build::*;
-use effectful::{is_send_sync, short::ConvertShort};
+use effectful::{short::ConvertShort, SendSync};
// use effect::ConvertShort;
pub use transform::*;
pub use walk::*;
@@ -29,7 +30,7 @@ pub use walk::*;
use symbol::Symbol;
pub mod never {
- use effectful::is_send_sync;
+ use effectful::SendSync;
mod sealed {
pub trait Extract {
@@ -43,10 +44,8 @@ pub mod never {
/// Test
// pub type Never = <fn() -> ! as sealed::Extract>::Never;
- #[derive(Debug, Copy, Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
+ #[derive(Debug, Copy, Clone, PartialEq, Eq, PartialOrd, Ord, Hash, SendSync)]
pub enum Never {}
-
- is_send_sync!(Never);
}
pub const TAG_TYPE_NAME: Symbol = Symbol::new("Type Name");
@@ -67,15 +66,13 @@ pub const TAG_ENUM: Symbol = Symbol::new("Enum");
pub enum DefaultMode {}
#[must_use]
-#[derive(Debug, PartialEq, Eq, Hash, PartialOrd, Ord, Copy, Clone)]
+#[derive(Debug, PartialEq, Eq, Hash, PartialOrd, Ord, Copy, Clone, SendSync)]
pub enum Status {
Ok,
Err,
}
-is_send_sync!(Status, Flow);
-
-#[derive(Clone, Copy, PartialEq, Debug)]
+#[derive(Clone, Copy, PartialEq, Debug, SendSync)]
#[must_use]
pub enum Flow {
Continue,