Skip to content

Commit 298195a

Browse files
committed
style(encoder): adjust call style within encoder impl
1 parent 8264a62 commit 298195a

File tree

1 file changed

+10
-23
lines changed

1 file changed

+10
-23
lines changed

bintensors/src/tensor.rs

Lines changed: 10 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -523,26 +523,7 @@ impl Encode for Metadata {
523523
&self,
524524
encoder: &mut E,
525525
) -> Result<(), bincode::error::EncodeError> {
526-
// Handle HashMap fields with special attributes
527-
let metadata: Option<BTreeMap<&String, &String>> = self.metadata.as_ref().map(|map| {
528-
let mut entries: Vec<_> = map.iter().collect();
529-
entries.sort_by_key(|(k, _)| *k);
530-
entries.into_iter().collect::<BTreeMap<_, _>>()
531-
});
532-
#[cfg(feature = "std")]
533-
bincode::Encode::encode(&metadata, encoder)?;
534-
#[cfg(not(feature = "std"))]
535-
bincode::serde::encode_into_writer(
536-
&metadata,
537-
encoder.writer(),
538-
bincode::config::standard(),
539-
)?;
540-
541-
let mut buffer = Vec::with_capacity(self.tensors.len());
542-
543-
for _ in 0..self.tensors.len() {
544-
buffer.push(None);
545-
}
526+
let mut buffer = vec![None; self.tensors.len()];
546527

547528
for (key, &index) in &self.index_map {
548529
buffer[index] = Some((key, &self.tensors[index]));
@@ -551,7 +532,13 @@ impl Encode for Metadata {
551532
let header: Vec<(&String, &TensorInfo)> =
552533
buffer.into_iter().map(|item| item.unwrap()).collect();
553534

554-
bincode::Encode::encode(&header, encoder)
535+
let metadata: Option<BTreeMap<&String, &String>> = self.metadata.as_ref().map(|map| {
536+
let mut entries: Vec<_> = map.iter().collect();
537+
entries.sort_by_key(|(k, _)| *k);
538+
entries.into_iter().collect::<BTreeMap<_, _>>()
539+
});
540+
541+
bincode::Encode::encode(&(metadata, header), encoder)
555542
}
556543
}
557544

@@ -562,9 +549,9 @@ impl<Context> Decode<Context> for Metadata {
562549
#[cfg(feature = "std")]
563550
let metadata = bincode::Decode::decode(decoder)?;
564551
#[cfg(not(feature = "std"))]
565-
let metadata = bincode::serde::decode_from_reader(
552+
let metadata: Option<HashMap<String, String>> = bincode::serde::decode_from_reader(
566553
decoder.reader(),
567-
bincode::config::standard().with_limit::<{ MAX_HEADER_SIZE }>(),
554+
bincode::config::standard().with_limit::<{ MAX_HEADER_SIZE / 2 }>(),
568555
)?;
569556

570557
let buffer: Vec<(String, TensorInfo)> = bincode::Decode::decode(decoder)?;

0 commit comments

Comments
 (0)