This repository is for the active development of the Azure SDK for Rust. For consumers of the SDK we recommend visiting Docs.rs and looking up the docs for any of libraries in the SDK.
MIT License
709
stars
246
forks
source link
azure_core::Model derive macro doesn't infer `Deserialize` bounds in `impl` #1803
Logging this because I hit it in implementing a query API for Cosmos. I'm working around it with the work-around posted above, but I wanted to track this issue for future reference (and to hopefully fix it later)
The derive macro for
Model
doesn't work for generic arguments. For example, this doesn't work:This is because our logic generates an
impl
like this:But, serde's
Deserialize
derive macro generates this (effectively):Since our
Model
impl depends on the impl ofDeserialize
, we end up with an error:What we'd need to do is add logic to our derive macro that matches serde's logic to guess appropriate type parameter bounds for the impl. This isn't really blocking, since one can manually implement
Model
without too much trouble in this case. For example: