in src/primitives.rs [361:378]
fn deserialize<R: std::io::Read>(
reader: &mut R,
version_map: &VersionMap,
app_version: u16,
) -> VersionizeResult<Self> {
let header = T::deserialize(reader, version_map, app_version)
.map_err(|ref err| VersionizeError::Deserialize(format!("{:?}", err)))?;
let entries: Vec<<T as FamStruct>::Entry> =
Vec::deserialize(reader, version_map, app_version)
.map_err(|ref err| VersionizeError::Deserialize(format!("{:?}", err)))?;
// Construct the object from the array items.
// Header(T) fields will be initialized by Default trait impl.
let mut object = FamStructWrapper::from_entries(&entries)
.map_err(|ref err| VersionizeError::Deserialize(format!("{:?}", err)))?;
// Update Default T with the deserialized header.
*object.as_mut_fam_struct() = header;
Ok(object)
}