dishmaker

Results 81 comments of dishmaker

[Spoiler] Unrelated to >30 tag breaking change > The code duplication of the private module, that is basically just a copy of the context_sensitive module I've made it generic for...

This crate is still unusable for the European Tachograph regulation. There are many 2-byte tags. https://eur-lex.europa.eu/legal-content/EN/TXT/?uri=celex%3A02016R0799-20200226 | Field | Field ID | Tag | Length (bytes) | ASN.1 data type...

[Spoiler] Unrelated to >30 tags > `Private` is basically a copy of `ContextSpecific` Well, I also need `Application` 🥺 I think the best solution is using generics: ```rust pub type...

I've fixed all dependencies and added these 3 custom tags as generic ones :)

Looks like entire philisophy of `tag.number() != tag_number` in rasn crate is contained in: `.ok()` https://github.com/librasn/rasn/blob/3e8e3a26048c229b32a66a48362ea476a2ddd92d/src/ber/de.rs#L747 So it ignores the `Err(..)` and returns `Option::None` when tag is invalid? https://github.com/librasn/rasn/blob/3e8e3a26048c229b32a66a48362ea476a2ddd92d/src/ber/de.rs#L707

On trait `Choice` and my weird little edge case where `derive(Choice)` needed `Tagged` on something that wasn't.

If I remember correctly, the edge case is here: https://github.com/monai/node-passport/blob/master/lib/pkcs15/cryptographic_information_framework.asn1#L181 So it's a CHOICE with `[0]` CHOICE inside for ` ObjectValue {RSAPublicKeyChoice}`

It will take me some time to recreate the `Tagged` IMPLICIT bug with `CHOICE` inside `[0]` `CHOICE` :)

I give up. It's pretty much impossible to implement this case in current `der`, without splitting `EXPLICIT` and `IMPLICIT` encoders. ```rust #[derive(Choice)] pub enum ObjectValue where for` is not implemented...

Btw `CHOICE` inside `CHOICE` isn't a problem. Such case can be simplified by hand. ```rust /// ```asn1 /// ReferencedValue {Type} ::= CHOICE { /// path Path, /// url URL ///...