fwcd / fwcd/swift-binary-coder

Investigate how to fix untagged enum serialization

Ouverte
#3 0 commentaires 0 réactions 0 personnes assignées Voir sur GitHub
help wanted
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

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.