// GRCOV_EXCL_START
bitflags::bitflags! { #[derive(Debug, Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Serialize, Deserialize)] pubstruct Extensions: usize { const UNWRAP_NEWTYPES = 0x1; const IMPLICIT_SOME = 0x2; const UNWRAP_VARIANT_NEWTYPES = 0x4; /// During serialization, this extension emits struct names. See also [`PrettyConfig::struct_names`](crate::ser::PrettyConfig::struct_names) for the [`PrettyConfig`](crate::ser::PrettyConfig) equivalent. /// /// During deserialization, this extension requires that structs' names are stated explicitly. const EXPLICIT_STRUCT_NAMES = 0x8;
}
} // GRCOV_EXCL_STOP
impl Extensions { /// Creates an extension flag from an ident. #[must_use] pubfn from_ident(ident: &str) -> Option<Extensions> { for (name, extension) in Extensions::all().iter_names() { if ident == name.to_lowercase() { return Some(extension);
}
}
fn roundtrip_extensions(ext: Extensions) { let ron = crate::to_string(&ext).unwrap(); let ext2: Extensions = crate::from_str(&ron).unwrap();
assert_eq!(ext, ext2);
}
#[test] fn test_extension_serde() { // iterate over the powerset of all extensions (i.e. every possible combination of extensions) for bits in Extensions::empty().bits()..=Extensions::all().bits() { let extensions = Extensions::from_bits_retain(bits);
roundtrip_extensions(extensions);
}
}
}
Messung V0.5 in Prozent
¤ Dauer der Verarbeitung: 0.14 Sekunden
(vorverarbeitet am 2026-08-25)
¤
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.