diff --git a/src/gc-arena/src/arena.rs b/src/gc-arena/src/arena.rs index 5f9e5866..381ad08e 100644 --- a/src/gc-arena/src/arena.rs +++ b/src/gc-arena/src/arena.rs @@ -313,7 +313,7 @@ impl Rootable<'a>> Arena { // be 'static. If the 'gc lifetime ends up in a user type, it must either be from a type returned // by gc-arena (which again, knows that 'gc is really 'static), or it is in a place where it must be // valid that any lifetime be there since the callback is required to work for all 'gc lifetimes. -unsafe impl Rootable<'a> + ?Sized> Send for Arena where Root<'static, R>: Send {} +unsafe impl Rootable<'a>> Send for Arena where Root<'static, R>: Send {} /// Create a temporary arena without a root object and perform the given operation on it. No garbage /// collection will be done until the very end of the call, at which point all allocations will diff --git a/src/gc-arena/tests/ui/arena_not_send.stderr b/src/gc-arena/tests/ui/arena_not_send.stderr index 1b5bc6e5..e7beeb2b 100644 --- a/src/gc-arena/tests/ui/arena_not_send.stderr +++ b/src/gc-arena/tests/ui/arena_not_send.stderr @@ -7,7 +7,7 @@ error[E0277]: `Rc<()>` cannot be sent between threads safely = help: the trait `Send` is not implemented for `Rc<()>` = note: required for `Gc<'_, Rc<()>>` to implement `Send` = note: 1 redundant requirement hidden - = note: required for `Arena Rootable<'gc, for<'gc> Root = Gc<'gc, Rc<()>>>>` to implement `Send` + = note: required for `Arena<__DynRootable<(dyn for<'gc> Rootable<'gc, for<'gc> Root = Gc<'gc, Rc<()>>> + 'static)>>` to implement `Send` note: required by a bound in `assert_send` --> tests/ui/arena_not_send.rs:5:19 |