INNER CODE UNIT · Rust
assert_stable
Barre/ZeroFS · zerofs/nbd-proto/src/lib.rs:412
fn assert_stable<T>(value: &T)
where
T: WireCodec,
{
let once = value.to_bytes().unwrap();
let decoded = T::decode(&once).unwrap();
let twice = decoded.to_bytes().unwrap();
assert_eq!(once, twice, "encode/decode is not a stable canonical form");
}
#[test]
fn request_round_trips() {
let request = NBDRequest {
magic: NBD_REQUEST_MAGIC,
flags: NBD_CMD_FLAG_FUA,
cmd_type: NBDCommand::Write,
cookie: 0x0102_0304_0506_0708,
offset: 4096,