message: Use BTreeMap in ModuleInfo to avoid non-deterministic serialization
diff: @@ -23,7 +23,7 @@ use rkyv::{
  };
  #[cfg(feature = "enable-serde")]
  use serde::{Deserialize, Serialize};
  -use std::collections::HashMap;
  +use std::collections::{BTreeMap, HashMap};
  use std::fmt;
  use std::iter::ExactSizeIterator;
  use std::sync::atomic::{AtomicUsize, Ordering::SeqCst};
  @@ -141,10 +141,10 @@ pub struct ArchivableModuleInfo {
  exports: ArchivableIndexMap<String, ExportIndex>,
  start_function: Option<FunctionIndex>,
  table_initializers: Vec<TableInitializer>,
  - passive_elements: HashMap<ElemIndex, Box<[FunctionIndex]>>,
  - passive_data: HashMap<DataIndex, Arc<[u8]>>,
  + passive_elements: BTreeMap<ElemIndex, Box<[FunctionIndex]>>,
  + passive_data: BTreeMap<DataIndex, Arc<[u8]>>,
  global_initializers: PrimaryMap<LocalGlobalIndex, GlobalInit>,
  - function_names: HashMap<FunctionIndex, String>,
  + function_names: BTreeMap<FunctionIndex, String>,
  signatures: PrimaryMap<SignatureIndex, FunctionType>,
  functions: PrimaryMap<FunctionIndex, SignatureIndex>,
  tables: PrimaryMap<TableIndex, TableType>,
  @@ -167,10 +167,10 @@ impl From<ModuleInfo> for ArchivableModuleInfo {
  exports: ArchivableIndexMap::from(it.exports),
  start_function: it.start_function,
  table_initializers: it.table_initializers,
  - passive_elements: it.passive_elements,
  - passive_data: it.passive_data,
  + passive_elements: it.passive_elements.into_iter().collect(),
  + passive_data: it.passive_data.into_iter().collect(),
  global_initializers: it.global_initializers,
  - function_names: it.function_names,
  + function_names: it.function_names.into_iter().collect(),
  signatures: it.signatures,
  functions: it.functions,
  tables: it.tables,
  @@ -196,10 +196,10 @@ impl From<ArchivableModuleInfo> for ModuleInfo {
  exports: it.exports.into(),
  start_function: it.start_function,
  table_initializers: it.table_initializers,
  - passive_elements: it.passive_elements,
  - passive_data: it.passive_data,
  + passive_elements: it.passive_elements.into_iter().collect(),
  + passive_data: it.passive_data.into_iter().collect(),
  global_initializers: it.global_initializers,
  - function_names: it.function_names,
  + function_names: it.function_names.into_iter().collect(),
  signatures: it.signatures,
  functions: it.functions,
  tables: it.tables,
  