Comparing CBOR/c and CDE to DAG-CBOR, i notice there are some major types and simple types excluded only in the latter, which the DAG-CBOR spec refers to as explicitly incompatible with IPLD data model:
- simple NaN (signaling/value-containing NaN already excluded from CBOR/c and CDE anyways)
- Infinity and -Infinity (and variants from the float types)
- Undefined (minor 23)
I can see how these should continue to be deprecated for encoding, but is there any argument for accepting them when decoding? i.e. should a decode error on the presence of these values (malformed object) or have some other defined behavior, like a non-breaking warning? I assume erroring is fine here, but opening an issue incase there are corner-cases at the tooling level.
Comparing CBOR/c and CDE to DAG-CBOR, i notice there are some major types and simple types excluded only in the latter, which the DAG-CBOR spec refers to as explicitly incompatible with IPLD data model:
I can see how these should continue to be deprecated for encoding, but is there any argument for accepting them when decoding? i.e. should a decode error on the presence of these values (malformed object) or have some other defined behavior, like a non-breaking warning? I assume erroring is fine here, but opening an issue incase there are corner-cases at the tooling level.