vdf-rs
vdf-rs copied to clipboard
Implement `serde::(De)Serialize` for `keyvalues_parser::Vdf`
Implementing this would be a huge ergonomics win for users, but beyond that it would unlock much better fuzzing potential for keyvalues-serde. Right now keyvalues-serde currently fuzzes an arbitrarily generated "kitchen sink" style struct that holds a lot of different data types, but that doesn't catch issues like #45 :crying_cat_face:
Having this implemented would give us the arbitrarily dynamic type that would be perfect for fuzzing to find since it's the one type that describes all valid VDF blobs
We'll also want to implement it for Value to complete things. We should also be able to allow map types for the top-level pair. We just have to keep track of if we're in the top level in the deserializer, so that we don't won't wind up allowing things like
struct Foo {
bar: Pair,
}
as valid