Blanket-implemented erased typings for the types used throughout the serialization portion of
this crate, to allow for implementation of the proto message field reflection API.
Trait implemented by enums which are generated with the err_if_default option. Note that
these enums are not forward compatible, since they do not handle unrecognized enum variants
(and will fail to deserialize instead).
Trait implemented by all the messages defined in proto files and base datatypes
like string, bytes, etc. The exact details of this trait is implemented for messages
and base types can be found at - https://developers.google.com/protocol-buffers/docs/encoding
A stand-in trait for any backing buffer store.
PbBuffers are expected to own references to the data they reference, and should be cheap
(constant-time) to clone.