See #1649 `zvariant` brings in a number of dependencies that can probably be reduced. From the list, in order of relative difficulty: - [ ] The code using `endi` can be implemented using the standard library fairly easily. - [ ] The code using `winnow` can likely be implemented with it, using a parser built using only standard library utilities. - [ ] `zvariant_derive` et al can be made into optional features. This would allow removing the proc-macro dependencies from `zvariant` and `zvariant_utils`. - [ ] `serde` can be made optional. However, this requires us to have an alternative API for marshalling than `serde`. - [ ] `proc-macro-crate` can be removed from `zvariant-derive` as per #1365 - [ ] There is a reality where `zvariant` is `no-std` or even `no-alloc`.
See #1649
zvariantbrings in a number of dependencies that can probably be reduced. From the list, in order of relative difficulty:endican be implemented using the standard library fairly easily.winnowcan likely be implemented with it, using a parser built using only standard library utilities.zvariant_deriveet al can be made into optional features. This would allow removing the proc-macro dependencies fromzvariantandzvariant_utils.serdecan be made optional. However, this requires us to have an alternative API for marshalling thanserde.proc-macro-cratecan be removed fromzvariant-deriveas per Drop proc-macro-crate dependency #1365zvariantisno-stdor evenno-alloc.