This is an automated email from the ASF dual-hosted git repository.

kriskras99 pushed a commit to branch feat/documentation
in repository https://gitbox.apache.org/repos/asf/avro-rs.git

commit 2bcb8709b8c7d60b75049dd021df102b7166a20c
Author: Kriskras99 <[email protected]>
AuthorDate: Sun Jan 18 11:30:39 2026 +0100

    fix: Move the `bytes` module to the `serde` module
---
 avro/src/lib.rs                                 |  24 +---
 avro/src/serde/de.rs                            |   3 +-
 avro/src/serde/mod.rs                           |   7 +-
 avro/src/serde/ser.rs                           |   7 +-
 avro/src/{bytes.rs => serde/with.rs}            | 174 ++++++++++++------------
 avro/tests/avro-rs-285-bytes_deserialization.rs |   2 +-
 avro_derive/tests/serde.rs                      |  21 ++-
 7 files changed, 116 insertions(+), 122 deletions(-)

diff --git a/avro/src/lib.rs b/avro/src/lib.rs
index 40be7f9..2d144ea 100644
--- a/avro/src/lib.rs
+++ b/avro/src/lib.rs
@@ -868,13 +868,13 @@
 //!
 //!  #[derive(Debug, Deserialize, Serialize)]
 //!  struct SampleStruct {
-//!   #[serde(with = "apache_avro::serde_avro_bytes")]
+//!   #[serde(with = "apache_avro::serde::bytes")]
 //!   non_optional_bytes: Vec<u8>,
-//!   #[serde(with = "apache_avro::serde_avro_bytes_opt")]
+//!   #[serde(with = "apache_avro::serde::bytes_opt")]
 //!   optional_bytes: Option<Vec<u8>>,
-//!   #[serde(with = "apache_avro::serde_avro_fixed")]
+//!   #[serde(with = "apache_avro::serde::fixed")]
 //!   non_optional_fixed: [u8; 6],
-//!   #[serde(with = "apache_avro::serde_avro_fixed_opt")]
+//!   #[serde(with = "apache_avro::serde::fixed_opt")]
 //!   optional_fixed: Option<[u8; 6]>,
 //!  }
 //! ```
@@ -886,7 +886,7 @@
 //!
 //! #[derive(Debug, Deserialize, PartialEq, Serialize)]
 //! struct ExampleByteArray {
-//!     #[serde(with = "apache_avro::serde_avro_bytes_opt")]
+//!     #[serde(with = "apache_avro::serde::bytes_opt")]
 //!     data_bytes: Option<Vec<u8>>,
 //!     description: Option<String>,
 //! }
@@ -938,19 +938,14 @@
 //!   assert_eq!(records, deserialized_records);
 //! }
 //! ```
-//!
-//! Full implementation and other options for things like fixed byte arrays 
can be found in src/bytes.rs
-//!
 
 mod bigdecimal;
-mod bytes;
 mod codec;
 mod decimal;
 mod decode;
 mod duration;
 mod encode;
 mod reader;
-mod serde;
 mod writer;
 
 pub mod error;
@@ -959,17 +954,12 @@ pub mod rabin;
 pub mod schema;
 pub mod schema_compatibility;
 pub mod schema_equality;
+pub mod serde;
 pub mod types;
 pub mod util;
 pub mod validator;
 
-pub use crate::{
-    bigdecimal::BigDecimal,
-    bytes::{
-        serde_avro_bytes, serde_avro_bytes_opt, serde_avro_fixed, 
serde_avro_fixed_opt,
-        serde_avro_slice, serde_avro_slice_opt,
-    },
-};
+pub use crate::bigdecimal::BigDecimal;
 #[cfg(feature = "bzip")]
 pub use codec::bzip::Bzip2Settings;
 #[cfg(feature = "xz")]
diff --git a/avro/src/serde/de.rs b/avro/src/serde/de.rs
index 04c0f74..57ae16d 100644
--- a/avro/src/serde/de.rs
+++ b/avro/src/serde/de.rs
@@ -16,7 +16,8 @@
 // under the License.
 
 //! Logic for serde-compatible deserialization.
-use crate::{Error, bytes::DE_BYTES_BORROWED, error::Details, types::Value};
+use crate::serde::with::DE_BYTES_BORROWED;
+use crate::{Error, error::Details, types::Value};
 use serde::{
     Deserialize,
     de::{self, DeserializeSeed, Deserializer as _, Visitor},
diff --git a/avro/src/serde/mod.rs b/avro/src/serde/mod.rs
index efd1032..3480a14 100644
--- a/avro/src/serde/mod.rs
+++ b/avro/src/serde/mod.rs
@@ -15,7 +15,12 @@
 // specific language governing permissions and limitations
 // under the License.
 
+mod util;
+mod with;
+
 pub mod de;
 pub mod ser;
 pub mod ser_schema;
-mod util;
+
+#[doc(inline)]
+pub use with::{bytes, bytes_opt, fixed, fixed_opt, slice, slice_opt};
diff --git a/avro/src/serde/ser.rs b/avro/src/serde/ser.rs
index 3efbd62..9023ae5 100644
--- a/avro/src/serde/ser.rs
+++ b/avro/src/serde/ser.rs
@@ -16,11 +16,8 @@
 // under the License.
 
 //! Logic for serde-compatible serialization.
-use crate::{
-    Error,
-    bytes::{BytesType, SER_BYTES_TYPE},
-    types::Value,
-};
+use crate::serde::with::{BytesType, SER_BYTES_TYPE};
+use crate::{Error, types::Value};
 use serde::{Serialize, ser};
 use std::{collections::HashMap, iter::once};
 
diff --git a/avro/src/bytes.rs b/avro/src/serde/with.rs
similarity index 84%
rename from avro/src/bytes.rs
rename to avro/src/serde/with.rs
index 34f836e..29d43d6 100644
--- a/avro/src/bytes.rs
+++ b/avro/src/serde/with.rs
@@ -40,25 +40,27 @@ pub(crate) enum BytesType {
 /// Efficient (de)serialization of Avro bytes values.
 ///
 /// This module is intended to be used through the Serde `with` attribute. Use
-/// [`serde_avro_bytes_opt`] for optional bytes.
+/// [`apache_avro::serde::bytes_opt`] for optional bytes.
 ///
 /// See usage with below example:
-/// ```rust
-/// use apache_avro::{AvroSchema, serde_avro_bytes, serde_avro_fixed};
-/// use serde::{Deserialize, Serialize};
+/// ```
+/// # use apache_avro::AvroSchema;
+/// # use serde::{Deserialize, Serialize};
 ///
 /// #[derive(AvroSchema, Serialize, Deserialize)]
 /// struct StructWithBytes {
 ///     #[avro(with)]
-///     #[serde(with = "serde_avro_bytes")]
+///     #[serde(with = "apache_avro::serde::bytes")]
 ///     vec_field: Vec<u8>,
 ///
-///     #[avro(with = serde_avro_fixed::get_schema_in_ctxt::<6>)]
-///     #[serde(with = "serde_avro_fixed")]
+///     #[avro(with = apache_avro::serde::fixed::get_schema_in_ctxt::<6>)]
+///     #[serde(with = "apache_avro::serde::fixed")]
 ///     fixed_field: [u8; 6],
 /// }
 /// ```
-pub mod serde_avro_bytes {
+///
+/// [`apache_avro::serde::bytes_opt`]: bytes_opt
+pub mod bytes {
     use serde::{Deserializer, Serializer};
 
     use crate::{
@@ -89,25 +91,27 @@ pub mod serde_avro_bytes {
 /// Efficient (de)serialization of optional Avro bytes values.
 ///
 /// This module is intended to be used through the Serde `with` attribute. Use
-/// [`serde_avro_bytes`] for non optional bytes.
+/// [`apache_avro::serde::bytes`] for non-optional bytes.
 ///
 /// See usage with below example:
-/// ```rust
-/// use apache_avro::{AvroSchema, serde_avro_bytes_opt, serde_avro_fixed_opt};
-/// use serde::{Deserialize, Serialize};
+/// ```
+/// # use apache_avro::AvroSchema;
+/// # use serde::{Deserialize, Serialize};
 ///
 /// #[derive(AvroSchema, Serialize, Deserialize)]
 /// struct StructWithBytes {
 ///     #[avro(with)]
-///     #[serde(with = "serde_avro_bytes_opt")]
+///     #[serde(with = "apache_avro::serde::bytes_opt")]
 ///     vec_field: Option<Vec<u8>>,
 ///
-///     #[avro(with = serde_avro_fixed_opt::get_schema_in_ctxt::<6>)]
-///     #[serde(with = "serde_avro_fixed_opt")]
+///     #[avro(with = apache_avro::serde::fixed_opt::get_schema_in_ctxt::<6>)]
+///     #[serde(with = "apache_avro::serde::fixed_opt")]
 ///     fixed_field: Option<[u8; 6]>,
 /// }
 /// ```
-pub mod serde_avro_bytes_opt {
+///
+/// [`apache_avro::serde::bytes`]: bytes
+pub mod bytes_opt {
     use serde::{Deserializer, Serializer};
     use std::borrow::Borrow;
 
@@ -142,25 +146,27 @@ pub mod serde_avro_bytes_opt {
 /// Efficient (de)serialization of Avro fixed values.
 ///
 /// This module is intended to be used through the Serde `with` attribute. Use
-/// [`serde_avro_fixed_opt`] for optional fixed values.
+/// [`apache_avro::serde::fixed_opt`] for optional fixed values.
 ///
 /// See usage with below example:
-/// ```rust
-/// use apache_avro::{AvroSchema, serde_avro_bytes, serde_avro_fixed};
-/// use serde::{Deserialize, Serialize};
+/// ```
+/// # use apache_avro::AvroSchema;
+/// # use serde::{Deserialize, Serialize};
 ///
 /// #[derive(AvroSchema, Serialize, Deserialize)]
 /// struct StructWithBytes {
 ///     #[avro(with)]
-///     #[serde(with = "serde_avro_bytes")]
+///     #[serde(with = "apache_avro::serde::bytes")]
 ///     vec_field: Vec<u8>,
 ///
-///     #[avro(with = serde_avro_fixed::get_schema_in_ctxt::<6>)]
-///     #[serde(with = "serde_avro_fixed")]
+///     #[avro(with = apache_avro::serde::fixed::get_schema_in_ctxt::<6>)]
+///     #[serde(with = "apache_avro::serde::fixed")]
 ///     fixed_field: [u8; 6],
 /// }
 /// ```
-pub mod serde_avro_fixed {
+///
+/// [`apache_avro::serde::fixed_opt`]: fixed_opt
+pub mod fixed {
     use super::{BytesType, SER_BYTES_TYPE};
     use serde::{Deserializer, Serializer};
 
@@ -208,25 +214,27 @@ pub mod serde_avro_fixed {
 /// Efficient (de)serialization of optional Avro fixed values.
 ///
 /// This module is intended to be used through the Serde `with` attribute. Use
-/// [`serde_avro_fixed`] for non optional fixed values.
+/// [`apache_avro::serde::fixed`] for non-optional fixed values.
 ///
 /// See usage with below example:
-/// ```rust
-/// use apache_avro::{AvroSchema, serde_avro_bytes_opt, serde_avro_fixed_opt};
-/// use serde::{Deserialize, Serialize};
+/// ```
+/// # use apache_avro::AvroSchema;
+/// # use serde::{Deserialize, Serialize};
 ///
 /// #[derive(AvroSchema, Serialize, Deserialize)]
 /// struct StructWithBytes {
 ///     #[avro(with)]
-///     #[serde(with = "serde_avro_bytes_opt")]
+///     #[serde(with = "apache_avro::serde::bytes_opt")]
 ///     vec_field: Option<Vec<u8>>,
 ///
-///     #[avro(with = serde_avro_fixed_opt::get_schema_in_ctxt::<6>)]
-///     #[serde(with = "serde_avro_fixed_opt")]
+///     #[avro(with = apache_avro::serde::fixed_opt::get_schema_in_ctxt::<6>)]
+///     #[serde(with = "apache_avro::serde::fixed_opt")]
 ///     fixed_field: Option<[u8; 6]>,
 /// }
 /// ```
-pub mod serde_avro_fixed_opt {
+///
+/// [`apache_avro::serde::fixed`]: fixed
+pub mod fixed_opt {
     use super::{BytesType, SER_BYTES_TYPE};
     use serde::{Deserializer, Serializer};
     use std::borrow::Borrow;
@@ -244,10 +252,7 @@ pub mod serde_avro_fixed_opt {
         Schema::Union(
             UnionSchema::new(vec![
                 Schema::Null,
-                super::serde_avro_fixed::get_schema_in_ctxt::<N>(
-                    named_schemas,
-                    enclosing_namespace,
-                ),
+                super::fixed::get_schema_in_ctxt::<N>(named_schemas, 
enclosing_namespace),
             ])
             .expect("This is a valid union"),
         )
@@ -279,24 +284,25 @@ pub mod serde_avro_fixed_opt {
 /// Note that `&[u8]` are always serialized as [`Value::Bytes`]. However,
 /// both [`Value::Bytes`] and [`Value::Fixed`] can be deserialized as `&[u8]`.
 ///
-/// Use [`serde_avro_slice_opt`] for optional bytes/fixed borrowed values.
+/// Use [`apache_avro::serde::slice`] for optional bytes/fixed borrowed values.
 ///
 /// See usage with below example:
 /// ```rust
-/// use apache_avro::{AvroSchema, serde_avro_slice};
-/// use serde::{Deserialize, Serialize};
+/// # use apache_avro::AvroSchema;
+/// # use serde::{Deserialize, Serialize};
 ///
 /// #[derive(AvroSchema, Serialize, Deserialize)]
 /// struct StructWithBytes<'a> {
 ///     #[avro(with)]
-///     #[serde(with = "serde_avro_slice")]
+///     #[serde(with = "apache_avro::serde::slice")]
 ///     slice_field: &'a [u8],
 /// }
 /// ```
 ///
 /// [`Value::Bytes`]: crate::types::Value::Bytes
 /// [`Value::Fixed`]: crate::types::Value::Fixed
-pub mod serde_avro_slice {
+/// [`apache_avro::serde::slice`]: slice_opt
+pub mod slice {
     use super::DE_BYTES_BORROWED;
     use serde::{Deserializer, Serializer};
 
@@ -335,24 +341,25 @@ pub mod serde_avro_slice {
 /// Note that `&[u8]` are always serialized as [`Value::Bytes`]. However,
 /// both [`Value::Bytes`] and [`Value::Fixed`] can be deserialized as `&[u8]`.
 ///
-/// Use [`serde_avro_slice`] for non-optional bytes/fixed borrowed values.
+/// Use [`apache_avro::serde::slice`] for non-optional bytes/fixed borrowed 
values.
 ///
 /// See usage with below example:
-/// ```rust
-/// use apache_avro::{AvroSchema, serde_avro_slice_opt};
-/// use serde::{Deserialize, Serialize};
+/// ```
+/// # use apache_avro::AvroSchema;
+/// # use serde::{Deserialize, Serialize};
 ///
 /// #[derive(AvroSchema, Serialize, Deserialize)]
 /// struct StructWithBytes<'a> {
 ///     #[avro(with)]
-///     #[serde(with = "serde_avro_slice_opt")]
+///     #[serde(with = "apache_avro::serde::slice_opt")]
 ///     slice_field: Option<&'a [u8]>,
 /// }
 /// ```
 ///
 /// [`Value::Bytes`]: crate::types::Value::Bytes
 /// [`Value::Fixed`]: crate::types::Value::Fixed
-pub mod serde_avro_slice_opt {
+/// [`apache_avro::serde::slice`]: mod@slice
+pub mod slice_opt {
     use super::DE_BYTES_BORROWED;
     use serde::{Deserializer, Serializer};
     use std::borrow::Borrow;
@@ -390,7 +397,6 @@ pub mod serde_avro_slice_opt {
 
 #[cfg(test)]
 mod tests {
-    use super::*;
     use crate::{Schema, from_value, to_value, types::Value};
     use serde::{Deserialize, Serialize};
 
@@ -398,19 +404,19 @@ mod tests {
     fn avro_3631_validate_schema_for_struct_with_byte_types() {
         #[derive(Debug, Serialize)]
         struct TestStructWithBytes<'a> {
-            #[serde(with = "serde_avro_bytes")]
+            #[serde(with = "crate::serde::bytes")]
             vec_field: Vec<u8>,
-            #[serde(with = "serde_avro_bytes_opt")]
+            #[serde(with = "crate::serde::bytes_opt")]
             vec_field_opt: Option<Vec<u8>>,
 
-            #[serde(with = "serde_avro_fixed")]
+            #[serde(with = "crate::serde::fixed")]
             fixed_field: [u8; 6],
-            #[serde(with = "serde_avro_fixed_opt")]
+            #[serde(with = "crate::serde::fixed_opt")]
             fixed_field_opt: Option<[u8; 7]>,
 
-            #[serde(with = "serde_avro_slice")]
+            #[serde(with = "crate::serde::slice")]
             slice_field: &'a [u8],
-            #[serde(with = "serde_avro_slice_opt")]
+            #[serde(with = "crate::serde::slice_opt")]
             slice_field_opt: Option<&'a [u8]>,
         }
 
@@ -465,32 +471,32 @@ mod tests {
     fn avro_3631_deserialize_value_to_struct_with_byte_types() {
         #[derive(Debug, Deserialize, PartialEq)]
         struct TestStructWithBytes<'a> {
-            #[serde(with = "serde_avro_bytes")]
+            #[serde(with = "crate::serde::bytes")]
             vec_field: Vec<u8>,
-            #[serde(with = "serde_avro_bytes_opt")]
+            #[serde(with = "crate::serde::bytes_opt")]
             vec_field_opt: Option<Vec<u8>>,
-            #[serde(with = "serde_avro_bytes_opt")]
+            #[serde(with = "crate::serde::bytes_opt")]
             vec_field_opt2: Option<Vec<u8>>,
 
-            #[serde(with = "serde_avro_fixed")]
+            #[serde(with = "crate::serde::fixed")]
             fixed_field: [u8; 6],
-            #[serde(with = "serde_avro_fixed_opt")]
+            #[serde(with = "crate::serde::fixed_opt")]
             fixed_field_opt: Option<[u8; 7]>,
-            #[serde(with = "serde_avro_fixed_opt")]
+            #[serde(with = "crate::serde::fixed_opt")]
             fixed_field_opt2: Option<[u8; 8]>,
 
-            #[serde(with = "serde_avro_slice")]
+            #[serde(with = "crate::serde::slice")]
             slice_bytes_field: &'a [u8],
-            #[serde(with = "serde_avro_slice_opt")]
+            #[serde(with = "crate::serde::slice_opt")]
             slice_bytes_field_opt: Option<&'a [u8]>,
-            #[serde(with = "serde_avro_slice_opt")]
+            #[serde(with = "crate::serde::slice_opt")]
             slice_bytes_field_opt2: Option<&'a [u8]>,
 
-            #[serde(with = "serde_avro_slice")]
+            #[serde(with = "crate::serde::slice")]
             slice_fixed_field: &'a [u8],
-            #[serde(with = "serde_avro_slice_opt")]
+            #[serde(with = "crate::serde::slice_opt")]
             slice_fixed_field_opt: Option<&'a [u8]>,
-            #[serde(with = "serde_avro_slice_opt")]
+            #[serde(with = "crate::serde::slice_opt")]
             slice_fixed_field_opt2: Option<&'a [u8]>,
         }
 
@@ -594,46 +600,46 @@ mod tests {
             array_field: &'a [u8],
             vec_field: Vec<u8>,
 
-            #[serde(with = "serde_avro_fixed")]
+            #[serde(with = "crate::serde::fixed")]
             vec_field2: Vec<u8>,
-            #[serde(with = "serde_avro_fixed_opt")]
+            #[serde(with = "crate::serde::fixed_opt")]
             vec_field2_opt: Option<Vec<u8>>,
-            #[serde(with = "serde_avro_fixed_opt")]
+            #[serde(with = "crate::serde::fixed_opt")]
             vec_field2_opt2: Option<Vec<u8>>,
 
-            #[serde(with = "serde_avro_bytes")]
+            #[serde(with = "crate::serde::bytes")]
             vec_field3: Vec<u8>,
-            #[serde(with = "serde_avro_bytes_opt")]
+            #[serde(with = "crate::serde::bytes_opt")]
             vec_field3_opt: Option<Vec<u8>>,
-            #[serde(with = "serde_avro_bytes_opt")]
+            #[serde(with = "crate::serde::bytes_opt")]
             vec_field3_opt2: Option<Vec<u8>>,
 
-            #[serde(with = "serde_avro_fixed")]
+            #[serde(with = "crate::serde::fixed")]
             fixed_field: [u8; 6],
-            #[serde(with = "serde_avro_fixed_opt")]
+            #[serde(with = "crate::serde::fixed_opt")]
             fixed_field_opt: Option<[u8; 5]>,
-            #[serde(with = "serde_avro_fixed_opt")]
+            #[serde(with = "crate::serde::fixed_opt")]
             fixed_field_opt2: Option<[u8; 4]>,
 
-            #[serde(with = "serde_avro_fixed")]
+            #[serde(with = "crate::serde::fixed")]
             fixed_field2: &'a [u8],
-            #[serde(with = "serde_avro_fixed_opt")]
+            #[serde(with = "crate::serde::fixed_opt")]
             fixed_field2_opt: Option<&'a [u8]>,
-            #[serde(with = "serde_avro_fixed_opt")]
+            #[serde(with = "crate::serde::fixed_opt")]
             fixed_field2_opt2: Option<&'a [u8]>,
 
-            #[serde(with = "serde_avro_bytes")]
+            #[serde(with = "crate::serde::bytes")]
             bytes_field: &'a [u8],
-            #[serde(with = "serde_avro_bytes_opt")]
+            #[serde(with = "crate::serde::bytes_opt")]
             bytes_field_opt: Option<&'a [u8]>,
-            #[serde(with = "serde_avro_bytes_opt")]
+            #[serde(with = "crate::serde::bytes_opt")]
             bytes_field_opt2: Option<&'a [u8]>,
 
-            #[serde(with = "serde_avro_bytes")]
+            #[serde(with = "crate::serde::bytes")]
             bytes_field2: [u8; 6],
-            #[serde(with = "serde_avro_bytes_opt")]
+            #[serde(with = "crate::serde::bytes_opt")]
             bytes_field2_opt: Option<[u8; 7]>,
-            #[serde(with = "serde_avro_bytes_opt")]
+            #[serde(with = "crate::serde::bytes_opt")]
             bytes_field2_opt2: Option<[u8; 8]>,
         }
 
diff --git a/avro/tests/avro-rs-285-bytes_deserialization.rs 
b/avro/tests/avro-rs-285-bytes_deserialization.rs
index 5ac2688..b9ebe80 100644
--- a/avro/tests/avro-rs-285-bytes_deserialization.rs
+++ b/avro/tests/avro-rs-285-bytes_deserialization.rs
@@ -20,7 +20,7 @@ use serde::{Deserialize, Serialize};
 
 #[derive(Debug, Deserialize, PartialEq, Serialize)]
 struct ExampleByteArray {
-    #[serde(with = "apache_avro::serde_avro_bytes_opt")]
+    #[serde(with = "apache_avro::serde::bytes_opt")]
     data_bytes: Option<Vec<u8>>,
     description: Option<String>,
 }
diff --git a/avro_derive/tests/serde.rs b/avro_derive/tests/serde.rs
index 043a245..e14503d 100644
--- a/avro_derive/tests/serde.rs
+++ b/avro_derive/tests/serde.rs
@@ -570,33 +570,28 @@ mod field_attributes {
 
     #[test]
     fn avro_rs_397_avroschema_with_bytes() {
-        use apache_avro::{
-            serde_avro_bytes, serde_avro_bytes_opt, serde_avro_fixed, 
serde_avro_fixed_opt,
-            serde_avro_slice, serde_avro_slice_opt,
-        };
-
         #[expect(dead_code, reason = "We only care about the schema")]
         #[derive(AvroSchema)]
         struct TestStructWithBytes<'a> {
             #[avro(with)]
-            #[serde(with = "serde_avro_bytes")]
+            #[serde(with = "apache_avro::serde::bytes")]
             vec_field: Vec<u8>,
             #[avro(with)]
-            #[serde(with = "serde_avro_bytes_opt")]
+            #[serde(with = "apache_avro::serde::bytes_opt")]
             vec_field_opt: Option<Vec<u8>>,
 
-            #[avro(with = serde_avro_fixed::get_schema_in_ctxt::<6>)]
-            #[serde(with = "serde_avro_fixed")]
+            #[avro(with = apache_avro::serde::fixed::get_schema_in_ctxt::<6>)]
+            #[serde(with = "apache_avro::serde::fixed")]
             fixed_field: [u8; 6],
-            #[avro(with = serde_avro_fixed_opt::get_schema_in_ctxt::<7>)]
-            #[serde(with = "serde_avro_fixed_opt")]
+            #[avro(with = 
apache_avro::serde::fixed_opt::get_schema_in_ctxt::<7>)]
+            #[serde(with = "apache_avro::serde::fixed_opt")]
             fixed_field_opt: Option<[u8; 7]>,
 
             #[avro(with)]
-            #[serde(with = "serde_avro_slice")]
+            #[serde(with = "apache_avro::serde::slice")]
             slice_field: &'a [u8],
             #[avro(with)]
-            #[serde(with = "serde_avro_slice_opt")]
+            #[serde(with = "apache_avro::serde::slice_opt")]
             slice_field_opt: Option<&'a [u8]>,
         }
 

Reply via email to