Skip to content

Deprecated/read-only strictness or full ban for types that break IPLD interop? #1

@bumblefudge

Description

@bumblefudge

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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions