From f5b6f5eef072ea10f1cf063f59f3a78bc717fe96 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jean=20Comm=C3=A8re?= Date: Wed, 3 Dec 2025 12:52:37 +0100 Subject: [PATCH 1/4] Implement Sync for ArrayParts --- src/lib.rs | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/lib.rs b/src/lib.rs index 6a5ea8280..97ba90242 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -1322,6 +1322,8 @@ struct ArrayParts _dst_control: T, } +unsafe impl Sync for ArrayParts where A: Sync {} + type ArrayPartsSized = ArrayParts; type ArrayPartsUnsized = ArrayParts; From edbe331e7dacadbf706ad7d8c4631e53fe510fba Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jean=20Comm=C3=A8re?= Date: Fri, 5 Dec 2025 13:38:28 +0100 Subject: [PATCH 2/4] Switch Sync impl from ArrayParts to ArrayRef --- src/arraytraits.rs | 6 ++++++ src/lib.rs | 2 -- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/src/arraytraits.rs b/src/arraytraits.rs index da87e3a58..9dcbedad4 100644 --- a/src/arraytraits.rs +++ b/src/arraytraits.rs @@ -433,6 +433,12 @@ where { } +unsafe impl Sync for ArrayRef +where + A: Sync, +{ +} + #[cfg(feature = "serde")] #[cfg_attr(docsrs, doc(cfg(feature = "serde")))] // Use version number so we can add a packed format later. diff --git a/src/lib.rs b/src/lib.rs index 97ba90242..6a5ea8280 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -1322,8 +1322,6 @@ struct ArrayParts _dst_control: T, } -unsafe impl Sync for ArrayParts where A: Sync {} - type ArrayPartsSized = ArrayParts; type ArrayPartsUnsized = ArrayParts; From 8702bc93da983f148fd4fd89a56e9d0199763545 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jean=20Comm=C3=A8re?= Date: Fri, 5 Dec 2025 17:10:23 +0100 Subject: [PATCH 3/4] Formatting --- src/arraytraits.rs | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/src/arraytraits.rs b/src/arraytraits.rs index 9dcbedad4..acc1a9dd5 100644 --- a/src/arraytraits.rs +++ b/src/arraytraits.rs @@ -433,11 +433,7 @@ where { } -unsafe impl Sync for ArrayRef -where - A: Sync, -{ -} +unsafe impl Sync for ArrayRef where A: Sync {} #[cfg(feature = "serde")] #[cfg_attr(docsrs, doc(cfg(feature = "serde")))] From 436e15c47665e832ff7e2a9ecdeeaca0d5bf028f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jean=20Comm=C3=A8re?= Date: Wed, 10 Dec 2025 15:03:10 +0100 Subject: [PATCH 4/4] Implement Send for ArrayRef --- src/arraytraits.rs | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/arraytraits.rs b/src/arraytraits.rs index acc1a9dd5..498da0f9c 100644 --- a/src/arraytraits.rs +++ b/src/arraytraits.rs @@ -435,6 +435,8 @@ where unsafe impl Sync for ArrayRef where A: Sync {} +unsafe impl Send for ArrayRef where A: Send {} + #[cfg(feature = "serde")] #[cfg_attr(docsrs, doc(cfg(feature = "serde")))] // Use version number so we can add a packed format later.