We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
There was an error while loading. Please reload this page.
1 parent 8fcb6a8 commit 943c3aeCopy full SHA for 943c3ae
2 files changed
src/userdata/cell.rs
@@ -13,7 +13,7 @@ use super::r#ref::{UserDataRef, UserDataRefMut};
13
type DynSerialize = dyn erased_serde::Serialize;
14
15
#[cfg(all(feature = "serde", feature = "send"))]
16
-type DynSerialize = dyn erased_serde::Serialize + Send;
+type DynSerialize = dyn erased_serde::Serialize + Send + Sync;
17
18
pub(crate) enum UserDataStorage<T> {
19
Owned(UserDataVariant<T>),
src/userdata/lock.rs
@@ -72,7 +72,7 @@ mod lock_impl {
72
73
#[inline(always)]
74
fn try_lock_shared(&self) -> bool {
75
- let flag = self.get().wrapping_add(1);
+ let flag = self.get().checked_add(1).expect("userdata lock count overflow");
76
if flag <= UNUSED {
77
return false;
78
}
0 commit comments