fwcd / fwcd/swift-binary-coder
Investigate how to fix untagged enum serialization
- Langage dominant
- Swift
- Étoiles
- 4
- Forks
- 1
- Métriques de merge des PR
- Aucune PR mergée en 30 j
Description
Since the synthesized `Encodable` implementation for enums is externally tagged by key and we discard keys during encoding, enums currently use a completely untagged representation, which can make it hard to distinguish cases during decoding.
As described [in the test case](https://github.com/fwcd/swift-binary-coder/blob/5270e91c53e2b75a32c8383de74743233d8aab7a/Tests/BinaryCoderTests/BinaryEncoderTests.swift#L36-L39), we should investigate whether non-`.untaggedAndAmbiguous` strategies should throw an error, even though there may be a runtime cost to detect whether a type is an enum (e.g. through reflection)?
Guide de contribution
Aucun guide de contribution indexé pour ce dépôt
Piste de recherche
Commencez par le cas de test référencé dans Tests/BinaryCoderTests/BinaryEncoderTests.swift aux lignes 36-39, puis examinez les stratégies d'encodage existantes et la gestion de enum. Déterminez si les stratégies autres que .untaggedAndAmbiguous doivent rejeter les enums non taggés et définissez comment cette détection serait validée ; l'issue est terminée lorsque le comportement et son compromis en matière d'exécution sont résolus.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Évaluation
- Stack technique
- swift
- Domaine
- tooling
- Type d'issue
- Fonctionnalité
- Difficulté
- 5/5
- Temps estimé
- Plus d'une semaine
- Activité
- À l'abandon
- Clarté
- À clarifier
- Accessibilité débutants
- 25/100