From b02d0ec46247f3f64bd4d2e30db9da7f40903409 Mon Sep 17 00:00:00 2001 From: Daniel Gulotta Date: Wed, 3 Sep 2025 10:13:54 -0700 Subject: [PATCH] allow downstream crates to instantiate *CircuitDataSerializer (#405) --- src/backends/plonky2/serialization.rs | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/src/backends/plonky2/serialization.rs b/src/backends/plonky2/serialization.rs index bfe534a..b778db3 100644 --- a/src/backends/plonky2/serialization.rs +++ b/src/backends/plonky2/serialization.rs @@ -137,7 +137,8 @@ impl WitnessGeneratorSerializer for Pod2GeneratorSerializer { /// Helper type to serialize and deserialize the pod2 `CircuitData` using serde traits. #[derive(Clone)] -pub struct CircuitDataSerializer(pub(crate) CircuitData); +#[repr(transparent)] +pub struct CircuitDataSerializer(pub CircuitData); impl Deref for CircuitDataSerializer { type Target = CircuitData; @@ -178,6 +179,7 @@ impl<'de> Deserialize<'de> for CircuitDataSerializer { /// Helper type to serialize and deserialize the pod2 `CommonCircuitData` using serde traits. #[derive(Clone)] +#[repr(transparent)] pub struct CommonCircuitDataSerializer(pub CommonCircuitData); impl Deref for CommonCircuitDataSerializer { @@ -217,7 +219,8 @@ impl<'de> Deserialize<'de> for CommonCircuitDataSerializer { /// Helper type to serialize and deserialize the pod2 `VerifierCircuitData` using serde traits. #[derive(Clone)] -pub struct VerifierCircuitDataSerializer(pub(crate) VerifierCircuitData); +#[repr(transparent)] +pub struct VerifierCircuitDataSerializer(pub VerifierCircuitData); impl Deref for VerifierCircuitDataSerializer { type Target = VerifierCircuitData; @@ -257,7 +260,8 @@ impl<'de> Deserialize<'de> for VerifierCircuitDataSerializer { /// Helper type to serialize and deserialize the pod2 `VerifierOnlyCircuitData` using serde traits. #[derive(Clone, Debug, PartialEq, Eq)] -pub struct VerifierOnlyCircuitDataSerializer(pub(crate) VerifierOnlyCircuitData); +#[repr(transparent)] +pub struct VerifierOnlyCircuitDataSerializer(pub VerifierOnlyCircuitData); impl Deref for VerifierOnlyCircuitDataSerializer { type Target = VerifierOnlyCircuitData;