Currently, basically any standard enum deserialization will go through deserialize_identifier(), which in turn goes through visit_str(). But most implementations will want to support visit_u64() and visit_bytes(), and will likely want to test this behavior as well. When building a Deserializer, we should allow users to specify what method will be used by default.
I am still unsure of how exactly this will look. Should the user still pass in a Token::UnitVariant or similar? Or should we just allow other token types in this position? Should we only allow u64 and bytes as alternatives, or should we allow all kinds of things here?
Currently, basically any standard enum deserialization will go through
deserialize_identifier(), which in turn goes throughvisit_str(). But most implementations will want to supportvisit_u64()andvisit_bytes(), and will likely want to test this behavior as well. When building aDeserializer, we should allow users to specify what method will be used by default.I am still unsure of how exactly this will look. Should the user still pass in a
Token::UnitVariantor similar? Or should we just allow other token types in this position? Should we only allowu64andbytesas alternatives, or should we allow all kinds of things here?