Format crates comparison
This document tracks feature parity across all facet format crates.
Legend:
- โ
= Fully supported with tests
- ๐ก = Partial support or untested
- ๐ซ = Not supported
- โ = Not applicable to this format
Note: msgp = facet-msgpack, pcrd = facet-postcard (shortened for column width)
Overview
Note: S = Serialization, D = Deserialization
Scalar types
| Type | json | kdl | yaml | toml | xml | msgp | pcrd | asn1 | xdr | args | urlenc | csv |
|---|
bool | โ
| โ
| โ
| โ
| ๐ก | โ
| โ
| โ
| โ
| โ
| ๐ซ | โ
|
u8..u64 | โ
| โ
| โ
| โ
| ๐ก | โ
| โ
| โ
| โ
| โ
| โ
| โ
|
i8..i64 | โ
| โ
| โ
| โ
| ๐ก | โ
| โ
| โ
| โ
| โ
| ๐ซ | โ
|
u128/i128 | โ
| ๐ก | โ
| ๐ก | ๐ก | ๐ก | โ
| ๐ก | ๐ก | ๐ก | ๐ก | ๐ก |
f32/f64 | โ
| โ
| โ
| โ
| ๐ก | ๐ซ | โ
| โ
| โ
| โ
| ๐ซ | โ
|
char | ๐ซ | ๐ก | โ
| ๐ก | ๐ก | โ
| โ
| ๐ก | ๐ก | ๐ซ | ๐ซ | โ
|
| NonZero integers | โ
| ๐ก | ๐ก | ๐ซ | ๐ก | ๐ก | ๐ซ | ๐ซ | ๐ซ | ๐ก | ๐ก | โ
|
String types
All formats support String, &str (with best-effort borrowing), and Cow<str>.
Lists, sets, and maps
| Type | json | kdl | yaml | toml | xml | msgp | pcrd | asn1 | xdr | args | urlenc | csv |
|---|
Vec<T> | โ
| โ
| โ
| โ
| โ
| โ
| โ
| โ
| โ
| โ
| ๐ซ | ๐ซ |
[T; N] (arrays) | โ
| ๐ก | โ
| โ
| ๐ก | โ
| โ
| โ
| โ
| ๐ก | ๐ซ | ๐ซ |
HashSet<T> | โ
| โ
| โ
| ๐ซ | ๐ก | ๐ซ | โ
| ๐ก | ๐ซ | ๐ซ | ๐ซ | ๐ซ |
BTreeSet<T> | โ
| โ
| โ
| ๐ซ | ๐ก | ๐ซ | โ
| ๐ก | ๐ซ | ๐ซ | ๐ซ | ๐ซ |
HashMap<K, V> | โ
| ๐ก | โ
| โ
| ๐ก | โ
| โ
| ๐ก | ๐ซ | ๐ซ | ๐ซ | ๐ซ |
BTreeMap<K, V> | โ
| ๐ก | โ
| โ
| ๐ก | ๐ก | โ
| ๐ก | ๐ซ | ๐ซ | ๐ซ | ๐ซ |
| Non-string map keys | โ
| ๐ซ | โ
| ๐ซ | ๐ซ | โ
| โ
| ๐ซ | ๐ซ | โ | โ | โ |
Compound types
| Type | json | kdl | yaml | toml | xml | msgp | pcrd | asn1 | xdr | args | urlenc | csv |
|---|
Option<T> | โ
| โ
| โ
| โ
| โ
| โ
| โ
| ๐ก | โ
| โ
| ๐ซ | โ
|
Result<T, E> | ๐ซ | ๐ก | ๐ก | ๐ซ | ๐ซ | ๐ซ | ๐ก | ๐ซ | ๐ซ | ๐ซ | ๐ซ | ๐ซ |
Smart pointers
| Type | json | kdl | yaml | toml | xml | msgp | pcrd | asn1 | xdr | args | urlenc | csv |
|---|
Box<T> | โ
| โ
| โ
| ๐ซ | ๐ก | ๐ก | โ
| ๐ก | ๐ก | ๐ก | ๐ซ | ๐ก |
Rc<T> | โ
| โ
| โ
| ๐ซ | ๐ก | ๐ก | โ
| ๐ก | ๐ก | ๐ก | ๐ซ | ๐ก |
Arc<T> | โ
| โ
| โ
| ๐ซ | ๐ก | ๐ก | โ
| ๐ก | ๐ก | ๐ก | ๐ซ | ๐ก |
Attributes
| Attribute | json | kdl | yaml | toml | xml | msgp | pcrd | asn1 | xdr | args | urlenc | csv |
|---|
opaque | โ
| โ
| ๐ซ | ๐ซ | โ
| ๐ซ | ๐ซ | ๐ซ | ๐ซ | ๐ซ | ๐ซ | ๐ซ |
proxy | โ
| โ
| ๐ซ | ๐ซ | โ
| ๐ซ | ๐ซ | ๐ซ | ๐ซ | ๐ซ | ๐ซ | ๐ซ |