#[derive(Choice)]
{
// Attributes available to this derive:
#[asn1]
}
Expand description
Derive the Choice
trait on an enum
.
This custom derive macro can be used to automatically impl the
Decode
and Encode
traits along with the
Choice
supertrait for any enum representing an ASN.1 CHOICE
.
The enum must consist entirely of 1-tuple variants wrapping inner
types which must also impl the Decode
and Encode
traits. It will will also generate [From
] impls for each of the
inner types of the variants into the enum that wraps them.
§Usage
ⓘ
// NOTE: requires the `derive` feature of `der`
use der::Choice;
/// `Time` as defined in RFC 5280
#[derive(Choice)]
pub enum Time {
#[asn1(type = "UTCTime")]
UtcTime(UtcTime),
#[asn1(type = "GeneralizedTime")]
GeneralTime(GeneralizedTime),
}
§#[asn1(type = "...")]
attribute
See toplevel documentation for the der_derive
crate for more
information about the #[asn1]
attribute.