Diffstat (limited to 'src/any.rs')
-rw-r--r--src/any.rs8
1 files changed, 5 insertions, 3 deletions
diff --git a/src/any.rs b/src/any.rs
index 411f660..3ebc7b2 100644
--- a/src/any.rs
+++ b/src/any.rs
@@ -100,7 +100,7 @@ higher_ranked_type! {
///
/// // Cast to be a AnyTrait trait object.
/// // Now we don't know the type.
-/// let anything: &(dyn AnyTrait<'_> + Send) = &my_num;
+/// let anything: &(dyn AnyTrait<'_> + Send + Sync) = &my_num;
///
/// // We can still upcast to an impl of ToNum.
/// let to_num_object: &dyn ToNum = anything.upcast::<DynToNum>().unwrap();
@@ -173,7 +173,7 @@ pub trait AnyTrait<'ctx> {
'ctx: 'a;
}
-impl<'b, 'ctx: 'b> dyn AnyTrait<'ctx> + Send + 'b {
+impl<'b, 'ctx: 'b> dyn AnyTrait<'ctx> + Send + Sync + 'b {
/// Upcast a borrow to the given trait object type.
///
/// This should be used instead of [`upcast_to_id`][AnyTrait::upcast_to_id]
@@ -407,7 +407,9 @@ mod test {
let z = 42;
let x = X(&z);
- let y = (&x as &(dyn AnyTrait<'_> + Send)).upcast::<DynZ>().unwrap();
+ let y = (&x as &(dyn AnyTrait<'_> + Send + Sync))
+ .upcast::<DynZ>()
+ .unwrap();
assert_eq!(y.get(), 42);
}