pub trait SwiftField:
Serialize
+ for<'de> Deserialize<'de>
+ Clone
+ Debug {
// Required methods
fn parse(value: &str) -> Result<Self>
where Self: Sized;
fn to_swift_string(&self) -> String;
// Provided methods
fn parse_with_variant(
value: &str,
_variant: Option<&str>,
_field_tag: Option<&str>,
) -> Result<Self>
where Self: Sized { ... }
fn get_variant_tag(&self) -> Option<&'static str> { ... }
}
Expand description
Trait for SWIFT field types
Implemented by all field types for parsing and serialization. Enum fields (Field50, Field59) support variant-based parsing.
Required Methods§
Sourcefn parse(value: &str) -> Result<Self>where
Self: Sized,
fn parse(value: &str) -> Result<Self>where
Self: Sized,
Parse field from SWIFT format (without :TAG:
prefix)
Sourcefn to_swift_string(&self) -> String
fn to_swift_string(&self) -> String
Convert to SWIFT format (includes :TAG:
prefix)
Provided Methods§
Sourcefn parse_with_variant(
value: &str,
_variant: Option<&str>,
_field_tag: Option<&str>,
) -> Result<Self>where
Self: Sized,
fn parse_with_variant(
value: &str,
_variant: Option<&str>,
_field_tag: Option<&str>,
) -> Result<Self>where
Self: Sized,
Parse field with variant (e.g., 50A, 50K) for enum fields
Sourcefn get_variant_tag(&self) -> Option<&'static str>
fn get_variant_tag(&self) -> Option<&'static str>
Get variant tag (e.g., “A”, “K”) for enum fields, None for simple fields
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.