From b70f934687c747ff2ce56ea89a643ced0198b455 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Martin=20Kr=C3=B6ning?= Date: Sun, 13 Jun 2021 17:22:02 +0200 Subject: [PATCH 1/3] Don't put hermit mutexes in a box. Hermit mutexes are movable. --- library/std/src/sys/hermit/mutex.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/library/std/src/sys/hermit/mutex.rs b/library/std/src/sys/hermit/mutex.rs index 885389ca54cd4..08f3d672b190a 100644 --- a/library/std/src/sys/hermit/mutex.rs +++ b/library/std/src/sys/hermit/mutex.rs @@ -156,7 +156,7 @@ pub struct Mutex { inner: Spinlock, } -pub type MovableMutex = Box; +pub type MovableMutex = Mutex; unsafe impl Send for Mutex {} unsafe impl Sync for Mutex {} From 1f3c794396b116ab073e5a41cab73ef2c48e8ce7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Martin=20Kr=C3=B6ning?= Date: Sun, 13 Jun 2021 17:22:17 +0200 Subject: [PATCH 2/3] Don't put hermit condvars in a box. Hermit condvars are movable. --- library/std/src/sys/hermit/condvar.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/library/std/src/sys/hermit/condvar.rs b/library/std/src/sys/hermit/condvar.rs index b45e8718f088e..fa8ef8fc37a95 100644 --- a/library/std/src/sys/hermit/condvar.rs +++ b/library/std/src/sys/hermit/condvar.rs @@ -14,7 +14,7 @@ pub struct Condvar { sem2: *const c_void, } -pub type MovableCondvar = Box; +pub type MovableCondvar = Condvar; unsafe impl Send for Condvar {} unsafe impl Sync for Condvar {} From cc90e486567d6b86930ae885f2493729ebec2443 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Martin=20Kr=C3=B6ning?= Date: Fri, 18 Jun 2021 13:52:13 +0200 Subject: [PATCH 3/3] Don't put hermit rwlocks in a box. Hermit rwlocks are movable. --- library/std/src/sys/hermit/rwlock.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/library/std/src/sys/hermit/rwlock.rs b/library/std/src/sys/hermit/rwlock.rs index d2058180121dc..64eaa2fc482dc 100644 --- a/library/std/src/sys/hermit/rwlock.rs +++ b/library/std/src/sys/hermit/rwlock.rs @@ -8,7 +8,7 @@ pub struct RWLock { state: UnsafeCell, } -pub type MovableRWLock = Box; +pub type MovableRWLock = RWLock; enum State { Unlocked,