summaryrefslogtreecommitdiff
path: root/ecs/src/system.rs
diff options
context:
space:
mode:
authorHampusM <hampus@hampusmat.com>2025-02-04 18:04:32 +0100
committerHampusM <hampus@hampusmat.com>2025-02-04 18:04:32 +0100
commit76d782195e3cc19832ad57ffffda4e953c6970b3 (patch)
treebd237c61ff895bd71e79a05338727c0ed68ef677 /ecs/src/system.rs
parent0d75299fe6b04e0866a44ad484b42703c6a9aa26 (diff)
chore(ecs): use parking_lot for inner rwlock of Lock
Diffstat (limited to 'ecs/src/system.rs')
-rw-r--r--ecs/src/system.rs7
1 files changed, 3 insertions, 4 deletions
diff --git a/ecs/src/system.rs b/ecs/src/system.rs
index a810741..48c2723 100644
--- a/ecs/src/system.rs
+++ b/ecs/src/system.rs
@@ -3,7 +3,6 @@ use std::convert::Infallible;
use std::fmt::Debug;
use std::marker::PhantomData;
use std::ops::{Deref, DerefMut};
-use std::panic::{RefUnwindSafe, UnwindSafe};
use ecs_macros::Component;
use seq_macro::seq;
@@ -49,7 +48,7 @@ macro_rules! impl_system {
impl<'world, Func, #(TParam~I,)*> System<'world, fn(#(TParam~I,)*)>
for Func
where
- Func: Fn(#(TParam~I,)*) + Copy + RefUnwindSafe + UnwindSafe + 'static,
+ Func: Fn(#(TParam~I,)*) + Copy + 'static,
#(TParam~I: Param<'world, Input = ()>,)*
{
type Input = Infallible;
@@ -123,7 +122,7 @@ pub trait Into<Impl>
pub struct TypeErased
{
- data: Box<dyn Any + RefUnwindSafe + UnwindSafe>,
+ data: Box<dyn Any>,
run: Box<TypeErasedRunFn>,
}
@@ -151,7 +150,7 @@ impl Debug for TypeErased
}
/// Function in [`TypeErased`] used to run the system.
-type TypeErasedRunFn = dyn Fn(&dyn Any, &World) + RefUnwindSafe + UnwindSafe;
+type TypeErasedRunFn = dyn Fn(&dyn Any, &World);
/// A parameter to a [`System`].
pub trait Param<'world>