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

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


The following commit(s) were added to refs/heads/main by this push:
     new af56163  fix!: Enum and Fixed would put `default` in 
`custom_attributes` (#460)
af56163 is described below

commit af56163614c4b45fb0d8cfaec997ed07a75e34ec
Author: Kriskras99 <[email protected]>
AuthorDate: Mon Feb 16 14:52:41 2026 +0100

    fix!: Enum and Fixed would put `default` in `custom_attributes` (#460)
    
    * fix: Enum and Fixed would put `default` in `custom_attributes`
    
    * feat!: Remove `default` field from Fixed as it does not exit in the 
specification
    
    * fix: Better name for test schema
    
    Co-authored-by: Martin Grigorov <[email protected]>
    
    ---------
    
    Co-authored-by: default <[email protected]>
    Co-authored-by: Martin Grigorov <[email protected]>
---
 avro/src/decode.rs                      |   2 -
 avro/src/encode.rs                      |   1 -
 avro/src/schema/mod.rs                  | 102 +++++++++++++++++++-------------
 avro/src/schema/parser.rs               |  15 +----
 avro/src/schema_compatibility.rs        |   2 -
 avro/src/schema_equality.rs             |  11 ----
 avro/src/serde/derive.rs                |   8 ---
 avro/src/serde/ser_schema.rs            |  10 ----
 avro/src/types.rs                       |  12 +---
 avro/src/writer.rs                      |   3 -
 avro/tests/serde_human_readable_true.rs |   2 +-
 avro_derive/tests/derive.rs             |   1 -
 12 files changed, 65 insertions(+), 104 deletions(-)

diff --git a/avro/src/decode.rs b/avro/src/decode.rs
index 1adc095..d88ab5f 100644
--- a/avro/src/decode.rs
+++ b/avro/src/decode.rs
@@ -450,7 +450,6 @@ mod tests {
                 name: Name::new("decimal")?,
                 aliases: None,
                 doc: None,
-                default: None,
                 attributes: Default::default(),
             }),
             precision: 4,
@@ -894,7 +893,6 @@ mod tests {
             name: "uuid".try_into()?,
             aliases: None,
             doc: None,
-            default: None,
             attributes: Default::default(),
         };
 
diff --git a/avro/src/encode.rs b/avro/src/encode.rs
index 85c4461..7efe4a6 100644
--- a/avro/src/encode.rs
+++ b/avro/src/encode.rs
@@ -971,7 +971,6 @@ pub(crate) mod tests {
             name: "uuid".try_into()?,
             aliases: None,
             doc: None,
-            default: None,
             attributes: Default::default(),
         });
         let value = 
Value::Uuid(Uuid::parse_str("550e8400-e29b-41d4-a716-446655440000")?);
diff --git a/avro/src/schema/mod.rs b/avro/src/schema/mod.rs
index b283731..5d9e0ca 100644
--- a/avro/src/schema/mod.rs
+++ b/avro/src/schema/mod.rs
@@ -281,8 +281,6 @@ pub struct FixedSchema {
     pub doc: Documentation,
     /// The size of the fixed schema
     pub size: usize,
-    /// An optional default symbol used for compatibility
-    pub default: Option<String>,
     /// The custom attributes of the schema
     #[builder(default = BTreeMap::new())]
     pub attributes: BTreeMap<String, Value>,
@@ -294,16 +292,16 @@ impl FixedSchema {
         S: Serializer,
     {
         map.serialize_entry("type", "fixed")?;
-        if let Some(ref n) = self.name.namespace {
+        if let Some(n) = self.name.namespace.as_ref() {
             map.serialize_entry("namespace", n)?;
         }
         map.serialize_entry("name", &self.name.name)?;
-        if let Some(ref docstr) = self.doc {
+        if let Some(docstr) = self.doc.as_ref() {
             map.serialize_entry("doc", docstr)?;
         }
         map.serialize_entry("size", &self.size)?;
 
-        if let Some(ref aliases) = self.aliases {
+        if let Some(aliases) = self.aliases.as_ref() {
             map.serialize_entry("aliases", aliases)?;
         }
 
@@ -326,7 +324,6 @@ impl FixedSchema {
             aliases: None,
             doc: None,
             size: self.size,
-            default: None,
             attributes: Default::default(),
         }
     }
@@ -783,7 +780,7 @@ impl Serialize for Schema {
                 doc,
                 fields,
                 attributes,
-                ..
+                lookup: _lookup,
             }) => {
                 let mut map = serializer.serialize_map(None)?;
                 map.serialize_entry("type", "record")?;
@@ -808,7 +805,8 @@ impl Serialize for Schema {
                 symbols,
                 aliases,
                 attributes,
-                ..
+                default,
+                doc,
             }) => {
                 let mut map = serializer.serialize_map(None)?;
                 map.serialize_entry("type", "enum")?;
@@ -821,6 +819,12 @@ impl Serialize for Schema {
                 if let Some(aliases) = aliases {
                     map.serialize_entry("aliases", aliases)?;
                 }
+                if let Some(default) = default {
+                    map.serialize_entry("default", default)?;
+                }
+                if let Some(doc) = doc {
+                    map.serialize_entry("doc", doc)?;
+                }
                 for attr in attributes {
                     map.serialize_entry(attr.0, attr.1)?;
                 }
@@ -1947,7 +1951,6 @@ mod tests {
                         aliases: None,
                         doc: None,
                         size: 456,
-                        default: None,
                         attributes: Default::default(),
                     }),
                     order: RecordFieldOrder::Ascending,
@@ -1967,7 +1970,6 @@ mod tests {
                         aliases: None,
                         doc: None,
                         size: 456,
-                        default: None,
                         attributes: Default::default(),
                     }),
                     order: RecordFieldOrder::Ascending,
@@ -2043,7 +2045,6 @@ mod tests {
             aliases: None,
             doc: None,
             size: 16_usize,
-            default: None,
             attributes: Default::default(),
         });
 
@@ -2063,7 +2064,6 @@ mod tests {
             aliases: None,
             doc: Some(String::from("FixedSchema documentation")),
             size: 16_usize,
-            default: None,
             attributes: Default::default(),
         });
 
@@ -4309,7 +4309,6 @@ mod tests {
             aliases: None,
             doc: None,
             size: 1,
-            default: None,
             attributes: attributes.clone(),
         });
         let serialized = serde_json::to_string(&schema)?;
@@ -4404,7 +4403,6 @@ mod tests {
                 aliases: None,
                 doc: None,
                 size: 16,
-                default: None,
                 attributes: Default::default(),
             }))
         );
@@ -4447,12 +4445,11 @@ mod tests {
                 aliases: None,
                 doc: None,
                 size: 6,
-                default: None,
                 attributes: BTreeMap::new(),
             })
         );
         assert_logged(
-            r#"Ignoring uuid logical type for a Fixed schema because its size 
(6) is not 16! Schema: Fixed(FixedSchema { name: Name { name: "FixedUUID", 
namespace: None }, aliases: None, doc: None, size: 6, default: None, 
attributes: {} })"#,
+            r#"Ignoring uuid logical type for a Fixed schema because its size 
(6) is not 16! Schema: Fixed(FixedSchema { name: Name { name: "FixedUUID", 
namespace: None }, aliases: None, doc: None, size: 6, attributes: {} })"#,
         );
 
         Ok(())
@@ -4596,7 +4593,6 @@ mod tests {
                 aliases: None,
                 doc: None,
                 size: 16,
-                default: None,
                 attributes: Default::default(),
             }),
         });
@@ -4767,28 +4763,6 @@ mod tests {
         Ok(())
     }
 
-    #[test]
-    fn avro_3965_fixed_schema_with_default_bigger_than_size() -> TestResult {
-        match Schema::parse_str(
-            r#"{
-                "type": "fixed",
-                "name": "test",
-                "size": 1,
-                "default": "123456789"
-               }"#,
-        ) {
-            Ok(_schema) => panic!("Must fail!"),
-            Err(err) => {
-                assert_eq!(
-                    err.to_string(),
-                    "Fixed schema's default value length (9) does not match 
its size (1)"
-                );
-            }
-        }
-
-        Ok(())
-    }
-
     #[test]
     fn avro_4004_canonical_form_strip_logical_types() -> TestResult {
         let schema_str = r#"
@@ -5015,7 +4989,6 @@ mod tests {
             aliases: None,
             doc: None,
             size: 12,
-            default: None,
             attributes: BTreeMap::new(),
         });
 
@@ -5147,6 +5120,55 @@ mod tests {
             error,
             Details::ParsePrimitiveSimilar("bool".to_string(), 
"boolean").to_string()
         );
+
+        Ok(())
+    }
+
+    #[test]
+    fn avro_rs_460_fixed_default_in_custom_attributes() -> TestResult {
+        let schema = Schema::parse_str(
+            r#"{
+            "name": "fixed_with_default",
+            "type": "fixed",
+            "size": 1,
+            "default": "\u0000",
+            "doc": "a docstring"
+        }"#,
+        )?;
+
+        assert_eq!(schema.custom_attributes().unwrap().len(), 1);
+
+        let json = serde_json::to_string(&schema)?;
+        let schema2 = Schema::parse_str(&json)?;
+
+        assert_eq!(schema2.custom_attributes().unwrap().len(), 1);
+
+        Ok(())
+    }
+
+    #[test]
+    fn avro_rs_460_enum_default_in_custom_attributes() -> TestResult {
+        let schema = Schema::parse_str(
+            r#"{
+            "name": "enum_with_default",
+            "type": "enum",
+            "symbols": ["A", "B", "C"],
+            "default": "A",
+            "doc": "a docstring"
+        }"#,
+        )?;
+
+        assert_eq!(schema.custom_attributes().unwrap(), &BTreeMap::new());
+
+        let json = serde_json::to_string(&schema)?;
+        let schema2 = Schema::parse_str(&json)?;
+
+        let Schema::Enum(enum_schema) = schema2 else {
+            panic!("Expected Schema::Enum, got {schema2:?}");
+        };
+        assert!(enum_schema.default.is_some());
+        assert!(enum_schema.doc.is_some());
+
         Ok(())
     }
 }
diff --git a/avro/src/schema/parser.rs b/avro/src/schema/parser.rs
index eb1b849..9500b82 100644
--- a/avro/src/schema/parser.rs
+++ b/avro/src/schema/parser.rs
@@ -690,7 +690,7 @@ impl Parser {
             doc: complex.doc(),
             symbols,
             default,
-            attributes: self.get_custom_attributes(complex, vec!["symbols"]),
+            attributes: self.get_custom_attributes(complex, vec!["symbols", 
"default"]),
         });
 
         self.register_parsed_schema(&fully_qualified_name, &schema, &aliases);
@@ -787,18 +787,6 @@ impl Parser {
             None => Err(Details::GetFixedSizeField),
         }?;
 
-        let default = complex.get("default").and_then(|v| match &v {
-            &Value::String(default) => Some(default.clone()),
-            _ => None,
-        });
-
-        if default.is_some() {
-            let len = default.clone().unwrap().len();
-            if len != size as usize {
-                return Err(Details::FixedDefaultLenSizeMismatch(len, 
size).into());
-            }
-        }
-
         let fully_qualified_name = Name::parse(complex, enclosing_namespace)?;
         let aliases =
             self.fix_aliases_namespace(complex.aliases(), 
&fully_qualified_name.namespace);
@@ -808,7 +796,6 @@ impl Parser {
             aliases: aliases.clone(),
             doc,
             size: size as usize,
-            default,
             attributes: self.get_custom_attributes(complex, vec!["size"]),
         });
 
diff --git a/avro/src/schema_compatibility.rs b/avro/src/schema_compatibility.rs
index 00a4063..7d9c611 100644
--- a/avro/src/schema_compatibility.rs
+++ b/avro/src/schema_compatibility.rs
@@ -857,7 +857,6 @@ mod tests {
             aliases: None,
             doc: None,
             size: 16,
-            default: None,
             attributes: Default::default(),
         };
 
@@ -1700,7 +1699,6 @@ mod tests {
                 aliases: None,
                 doc: None,
                 size: 20,
-                default: None,
                 attributes: BTreeMap::default(),
             }),
         });
diff --git a/avro/src/schema_equality.rs b/avro/src/schema_equality.rs
index d8f1558..e65e28c 100644
--- a/avro/src/schema_equality.rs
+++ b/avro/src/schema_equality.rs
@@ -315,7 +315,6 @@ mod tests {
             size: 12,
             aliases: None,
             doc: None,
-            default: None,
             attributes: BTreeMap::new(),
         });
         let schema_two = Schema::Duration(FixedSchema {
@@ -323,7 +322,6 @@ mod tests {
             size: 12,
             aliases: None,
             doc: None,
-            default: None,
             attributes: BTreeMap::new(),
         });
         let specification_eq_res = SPECIFICATION_EQ.compare(&schema_one, 
&schema_two);
@@ -338,7 +336,6 @@ mod tests {
             size: 12,
             aliases: None,
             doc: None,
-            default: None,
             attributes: BTreeMap::new(),
         });
         let schema_two = Schema::Duration(FixedSchema {
@@ -346,7 +343,6 @@ mod tests {
             size: 12,
             aliases: None,
             doc: None,
-            default: None,
             attributes: BTreeMap::new(),
         });
         let specification_eq_res = SPECIFICATION_EQ.compare(&schema_one, 
&schema_two);
@@ -363,7 +359,6 @@ mod tests {
             size: 12,
             aliases: None,
             doc: None,
-            default: None,
             attributes: vec![(String::from("attr1"), 
serde_json::Value::Bool(true))]
                 .into_iter()
                 .collect(),
@@ -373,7 +368,6 @@ mod tests {
             size: 12,
             aliases: None,
             doc: None,
-            default: None,
             attributes: BTreeMap::new(),
         });
         let specification_eq_res = SPECIFICATION_EQ.compare(&schema_one, 
&schema_two);
@@ -394,7 +388,6 @@ mod tests {
             size: 8,
             aliases: None,
             doc: None,
-            default: None,
             attributes: BTreeMap::new(),
         });
         let schema_two = Schema::Duration(FixedSchema {
@@ -402,7 +395,6 @@ mod tests {
             size: 12,
             aliases: None,
             doc: None,
-            default: None,
             attributes: BTreeMap::new(),
         });
         let specification_eq_res = SPECIFICATION_EQ.compare(&schema_one, 
&schema_two);
@@ -537,7 +529,6 @@ mod tests {
             name: Name::try_from("fixed").expect("Name is valid"),
             doc: None,
             size: 10,
-            default: None,
             aliases: None,
             attributes: BTreeMap::new(),
         });
@@ -548,7 +539,6 @@ mod tests {
             name: Name::try_from("fixed").expect("Name is valid"),
             doc: None,
             size: 10,
-            default: None,
             aliases: None,
             attributes: BTreeMap::new(),
         });
@@ -713,7 +703,6 @@ mod tests {
             aliases: None,
             doc: None,
             size: 16,
-            default: None,
             attributes: Default::default(),
         };
         let fixed = Schema::Uuid(UuidSchema::Fixed(fixed_schema.clone()));
diff --git a/avro/src/serde/derive.rs b/avro/src/serde/derive.rs
index 451f0b1..c631db9 100644
--- a/avro/src/serde/derive.rs
+++ b/avro/src/serde/derive.rs
@@ -614,7 +614,6 @@ impl AvroSchemaComponent for core::time::Duration {
                 aliases: None,
                 doc: None,
                 size: 12,
-                default: None,
                 attributes: Default::default(),
             });
             named_schemas.insert(name, schema.clone());
@@ -648,7 +647,6 @@ impl AvroSchemaComponent for uuid::Uuid {
                 aliases: None,
                 doc: None,
                 size: 16,
-                default: None,
                 attributes: Default::default(),
             }));
             named_schemas.insert(name, schema.clone());
@@ -680,7 +678,6 @@ impl AvroSchemaComponent for u64 {
                 aliases: None,
                 doc: None,
                 size: 8,
-                default: None,
                 attributes: Default::default(),
             });
             named_schemas.insert(name, schema.clone());
@@ -712,7 +709,6 @@ impl AvroSchemaComponent for u128 {
                 aliases: None,
                 doc: None,
                 size: 16,
-                default: None,
                 attributes: Default::default(),
             });
             named_schemas.insert(name, schema.clone());
@@ -744,7 +740,6 @@ impl AvroSchemaComponent for i128 {
                 aliases: None,
                 doc: None,
                 size: 16,
-                default: None,
                 attributes: Default::default(),
             });
             named_schemas.insert(name, schema.clone());
@@ -834,7 +829,6 @@ mod tests {
                 aliases: None,
                 doc: None,
                 size: 8,
-                default: None,
                 attributes: Default::default(),
             })
         );
@@ -852,7 +846,6 @@ mod tests {
                 aliases: None,
                 doc: None,
                 size: 16,
-                default: None,
                 attributes: Default::default(),
             })
         );
@@ -870,7 +863,6 @@ mod tests {
                 aliases: None,
                 doc: None,
                 size: 16,
-                default: None,
                 attributes: Default::default(),
             })
         );
diff --git a/avro/src/serde/ser_schema.rs b/avro/src/serde/ser_schema.rs
index 63ecdad..fb222a0 100644
--- a/avro/src/serde/ser_schema.rs
+++ b/avro/src/serde/ser_schema.rs
@@ -3322,7 +3322,6 @@ mod tests {
             aliases: None,
             doc: None,
             size: 4,
-            default: None,
             attributes: Default::default(),
         });
 
@@ -3374,7 +3373,6 @@ mod tests {
             aliases: None,
             doc: None,
             size: 4,
-            default: None,
             attributes: Default::default(),
         });
 
@@ -3398,7 +3396,6 @@ mod tests {
             aliases: None,
             doc: None,
             size: 4,
-            default: None,
             attributes: Default::default(),
         });
 
@@ -3421,7 +3418,6 @@ mod tests {
             aliases: None,
             doc: None,
             size: 1,
-            default: None,
             attributes: Default::default(),
         });
 
@@ -3444,7 +3440,6 @@ mod tests {
             aliases: None,
             doc: None,
             size: 16,
-            default: None,
             attributes: Default::default(),
         });
 
@@ -3473,7 +3468,6 @@ mod tests {
             aliases: None,
             doc: None,
             size: 16,
-            default: None,
             attributes: Default::default(),
         });
 
@@ -3496,7 +3490,6 @@ mod tests {
             aliases: None,
             doc: None,
             size: 8,
-            default: None,
             attributes: Default::default(),
         });
 
@@ -3519,7 +3512,6 @@ mod tests {
             aliases: None,
             doc: None,
             size: 16,
-            default: None,
             attributes: Default::default(),
         });
 
@@ -3548,7 +3540,6 @@ mod tests {
             aliases: None,
             doc: None,
             size: 16,
-            default: None,
             attributes: Default::default(),
         });
 
@@ -3571,7 +3562,6 @@ mod tests {
             aliases: None,
             doc: None,
             size: 8,
-            default: None,
             attributes: Default::default(),
         });
 
diff --git a/avro/src/types.rs b/avro/src/types.rs
index 28c3749..d070fe5 100644
--- a/avro/src/types.rs
+++ b/avro/src/types.rs
@@ -1361,7 +1361,6 @@ mod tests {
                     aliases: None,
                     doc: None,
                     size: 12,
-                    default: None,
                     attributes: BTreeMap::new(),
                 }),
                 true,
@@ -1374,11 +1373,10 @@ mod tests {
                     aliases: None,
                     doc: None,
                     size: 12,
-                    default: None,
                     attributes: BTreeMap::new(),
                 }),
                 false,
-                "Invalid value: Fixed(11, [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10]) 
for schema: Duration(FixedSchema { name: Name { name: \"TestName\", namespace: 
None }, aliases: None, doc: None, size: 12, default: None, attributes: {} }). 
Reason: The value's size ('11') must be exactly 12 to be a Duration",
+                "Invalid value: Fixed(11, [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10]) 
for schema: Duration(FixedSchema { name: Name { name: \"TestName\", namespace: 
None }, aliases: None, doc: None, size: 12, attributes: {} }). Reason: The 
value's size ('11') must be exactly 12 to be a Duration",
             ),
             (
                 Value::Record(vec![("unknown_field_name".to_string(), 
Value::Null)]),
@@ -1453,7 +1451,6 @@ mod tests {
             name: Name::new("some_fixed").unwrap(),
             aliases: None,
             doc: None,
-            default: None,
             attributes: Default::default(),
         });
 
@@ -1824,7 +1821,6 @@ Field with name '"b"' is not a member of the map items"#,
                         aliases: None,
                         size: 20,
                         doc: None,
-                        default: None,
                         attributes: Default::default(),
                     })
                 }))
@@ -1929,7 +1925,6 @@ Field with name '"b"' is not a member of the map items"#,
                     aliases: None,
                     doc: None,
                     size: 12,
-                    default: None,
                     attributes: BTreeMap::new()
                 }))
                 .is_ok()
@@ -1942,7 +1937,6 @@ Field with name '"b"' is not a member of the map items"#,
                     aliases: None,
                     doc: None,
                     size: 12,
-                    default: None,
                     attributes: BTreeMap::new()
                 }))
                 .is_err()
@@ -1975,7 +1969,6 @@ Field with name '"b"' is not a member of the map items"#,
                     aliases: None,
                     doc: None,
                     size: 16,
-                    default: None,
                     attributes: Default::default(),
                 })))
                 .is_ok()
@@ -3184,7 +3177,6 @@ Field with name '"b"' is not a member of the map items"#,
                 aliases: None,
                 doc: None,
                 size: 3,
-                default: None,
                 attributes: Default::default()
             }))?,
             Value::Fixed(3, vec![97, 98, 99])
@@ -3198,7 +3190,6 @@ Field with name '"b"' is not a member of the map items"#,
                     aliases: None,
                     doc: None,
                     size: 3,
-                    default: None,
                     attributes: Default::default()
                 }))
                 .is_err(),
@@ -3212,7 +3203,6 @@ Field with name '"b"' is not a member of the map items"#,
                     aliases: None,
                     doc: None,
                     size: 3,
-                    default: None,
                     attributes: Default::default()
                 }))
                 .is_err(),
diff --git a/avro/src/writer.rs b/avro/src/writer.rs
index 1690259..d75dccb 100644
--- a/avro/src/writer.rs
+++ b/avro/src/writer.rs
@@ -1054,7 +1054,6 @@ mod tests {
             aliases: None,
             doc: None,
             size,
-            default: None,
             attributes: Default::default(),
         };
         let inner = InnerDecimalSchema::Fixed(fixed.clone());
@@ -1095,7 +1094,6 @@ mod tests {
             aliases: None,
             doc: None,
             size: 12,
-            default: None,
             attributes: Default::default(),
         });
         let value = Value::Duration(Duration::new(
@@ -1110,7 +1108,6 @@ mod tests {
                 aliases: None,
                 doc: None,
                 size: 12,
-                default: None,
                 attributes: Default::default(),
             }),
             value,
diff --git a/avro/tests/serde_human_readable_true.rs 
b/avro/tests/serde_human_readable_true.rs
index 182839e..ca7a58b 100644
--- a/avro/tests/serde_human_readable_true.rs
+++ b/avro/tests/serde_human_readable_true.rs
@@ -129,7 +129,7 @@ fn avro_rs_440_uuid_fixed() -> TestResult {
     let writer = SpecificSingleObjectWriter::new()?;
     assert_eq!(
         writer.write(uuid, &mut buffer).unwrap_err().to_string(),
-        r#"Failed to serialize value of type string using schema 
Uuid(Fixed(FixedSchema { name: Name { name: "uuid", namespace: None }, aliases: 
None, doc: None, size: 16, default: None, attributes: {} })): 
550e8400-e29b-41d4-a716-446655440000. Cause: Expected bytes but got a string. 
Did you mean to use `Schema::Uuid(UuidSchema::String)` or 
`utils::serde_set_human_readable(false)`?"#
+        r#"Failed to serialize value of type string using schema 
Uuid(Fixed(FixedSchema { name: Name { name: "uuid", namespace: None }, aliases: 
None, doc: None, size: 16, attributes: {} })): 
550e8400-e29b-41d4-a716-446655440000. Cause: Expected bytes but got a string. 
Did you mean to use `Schema::Uuid(UuidSchema::String)` or 
`utils::serde_set_human_readable(false)`?"#
     );
 
     Ok(())
diff --git a/avro_derive/tests/derive.rs b/avro_derive/tests/derive.rs
index d6b1c4e..e52ba7b 100644
--- a/avro_derive/tests/derive.rs
+++ b/avro_derive/tests/derive.rs
@@ -1910,7 +1910,6 @@ fn avro_rs_397_with_generic() {
             aliases: None,
             doc: None,
             size: N,
-            default: None,
             attributes: Default::default(),
         })
     }

Reply via email to