1
# [ derive ( Debug , Clone , PartialEq ) ] pub enum EntityV0 { Class ( Class ) , ObjectIntersectionOf ( ObjectIntersectionOf ) , ObjectUnionOf ( ObjectUnionOf ) , ObjectComplementOf ( ObjectComplementOf ) , ObjectOneOf ( ObjectOneOf ) , ObjectSomeValuesFrom ( ObjectSomeValuesFrom ) , ObjectAllValuesFrom ( ObjectAllValuesFrom ) , ObjectHasValue ( ObjectHasValue ) , ObjectHasSelf ( ObjectHasSelf ) , ObjectMinCardinality ( ObjectMinCardinality ) , ObjectMaxCardinality ( ObjectMaxCardinality ) , ObjectExactCardinality ( ObjectExactCardinality ) , DataSomeValuesFrom ( DataSomeValuesFrom ) , DataAllValuesFrom ( DataAllValuesFrom ) , DataHasValue ( DataHasValue ) , DataMinCardinality ( DataMinCardinality ) , DataMaxCardinality ( DataMaxCardinality ) , DataExactCardinality ( DataExactCardinality ) , ObjectProperty ( ObjectProperty ) , InverseObjectProperty ( InverseObjectProperty ) , DataProperty ( DataProperty ) , Annotation ( Annotation ) , Individual ( Individual ) , AnnotationProperty ( AnnotationProperty ) , ClassAssertion ( ClassAssertion ) , NegativeClassAssertion ( NegativeClassAssertion ) , ObjectPropertyAssertion ( ObjectPropertyAssertion ) , NegativeObjectPropertyAssertion ( NegativeObjectPropertyAssertion ) , DataPropertyAssertion ( DataPropertyAssertion ) , NegativeDataPropertyAssertion ( NegativeDataPropertyAssertion ) , AnnotationAssertion ( AnnotationAssertion ) , NegativeAnnotationAssertion ( NegativeAnnotationAssertion ) , Literal ( Literal ) , Datatype ( Datatype ) , DataIntersectionOf ( DataIntersectionOf ) , DataUnionOf ( DataUnionOf ) , DataComplementOf ( DataComplementOf ) , DataOneOf ( DataOneOf ) }impl Into < Entity > for EntityV0 { fn into ( self ) -> Entity { match self { EntityV0 :: Class ( ent ) => Entity :: Class ( ent ) , EntityV0 :: ObjectIntersectionOf ( ent ) => Entity :: ObjectIntersectionOf ( ent ) , EntityV0 :: ObjectUnionOf ( ent ) => Entity :: ObjectUnionOf ( ent ) , EntityV0 :: ObjectComplementOf ( ent ) => Entity :: ObjectComplementOf ( ent ) , EntityV0 :: ObjectOneOf ( ent ) => Entity :: ObjectOneOf ( ent ) , EntityV0 :: ObjectSomeValuesFrom ( ent ) => Entity :: ObjectSomeValuesFrom ( ent ) , EntityV0 :: ObjectAllValuesFrom ( ent ) => Entity :: ObjectAllValuesFrom ( ent ) , EntityV0 :: ObjectHasValue ( ent ) => Entity :: ObjectHasValue ( ent ) , EntityV0 :: ObjectHasSelf ( ent ) => Entity :: ObjectHasSelf ( ent ) , EntityV0 :: ObjectMinCardinality ( ent ) => Entity :: ObjectMinCardinality ( ent ) , EntityV0 :: ObjectMaxCardinality ( ent ) => Entity :: ObjectMaxCardinality ( ent ) , EntityV0 :: ObjectExactCardinality ( ent ) => Entity :: ObjectExactCardinality ( ent ) , EntityV0 :: DataSomeValuesFrom ( ent ) => Entity :: DataSomeValuesFrom ( ent ) , EntityV0 :: DataAllValuesFrom ( ent ) => Entity :: DataAllValuesFrom ( ent ) , EntityV0 :: DataHasValue ( ent ) => Entity :: DataHasValue ( ent ) , EntityV0 :: DataMinCardinality ( ent ) => Entity :: DataMinCardinality ( ent ) , EntityV0 :: DataMaxCardinality ( ent ) => Entity :: DataMaxCardinality ( ent ) , EntityV0 :: DataExactCardinality ( ent ) => Entity :: DataExactCardinality ( ent ) , EntityV0 :: ObjectProperty ( ent ) => Entity :: ObjectProperty ( ent ) , EntityV0 :: InverseObjectProperty ( ent ) => Entity :: InverseObjectProperty ( ent ) , EntityV0 :: DataProperty ( ent ) => Entity :: DataProperty ( ent ) , EntityV0 :: Annotation ( ent ) => Entity :: Annotation ( ent ) , EntityV0 :: Individual ( ent ) => Entity :: Individual ( ent ) , EntityV0 :: AnnotationProperty ( ent ) => Entity :: AnnotationProperty ( ent ) , EntityV0 :: ClassAssertion ( ent ) => Entity :: ClassAssertion ( ent ) , EntityV0 :: NegativeClassAssertion ( ent ) => Entity :: NegativeClassAssertion ( ent ) , EntityV0 :: ObjectPropertyAssertion ( ent ) => Entity :: ObjectPropertyAssertion ( ent ) , EntityV0 :: NegativeObjectPropertyAssertion ( ent ) => Entity :: NegativeObjectPropertyAssertion ( ent ) , EntityV0 :: DataPropertyAssertion ( ent ) => Entity :: DataPropertyAssertion ( ent ) , EntityV0 :: NegativeDataPropertyAssertion ( ent ) => Entity :: NegativeDataPropertyAssertion ( ent ) , EntityV0 :: AnnotationAssertion ( ent ) => Entity :: AnnotationAssertion ( ent ) , EntityV0 :: NegativeAnnotationAssertion ( ent ) => Entity :: NegativeAnnotationAssertion ( ent ) , EntityV0 :: Literal ( ent ) => Entity :: Literal ( ent ) , EntityV0 :: Datatype ( ent ) => Entity :: Datatype ( ent ) , EntityV0 :: DataIntersectionOf ( ent ) => Entity :: DataIntersectionOf ( ent ) , EntityV0 :: DataUnionOf ( ent ) => Entity :: DataUnionOf ( ent ) , EntityV0 :: DataComplementOf ( ent ) => Entity :: DataComplementOf ( ent ) , EntityV0 :: DataOneOf ( ent ) => Entity :: DataOneOf ( ent ) } } }impl Into < EntityV0 > for Entity { fn into ( self ) -> EntityV0 { match self { Entity :: Class ( ent ) => EntityV0 :: Class ( ent ) , Entity :: ObjectIntersectionOf ( ent ) => EntityV0 :: ObjectIntersectionOf ( ent ) , Entity :: ObjectUnionOf ( ent ) => EntityV0 :: ObjectUnionOf ( ent ) , Entity :: ObjectComplementOf ( ent ) => EntityV0 :: ObjectComplementOf ( ent ) , Entity :: ObjectOneOf ( ent ) => EntityV0 :: ObjectOneOf ( ent ) , Entity :: ObjectSomeValuesFrom ( ent ) => EntityV0 :: ObjectSomeValuesFrom ( ent ) , Entity :: ObjectAllValuesFrom ( ent ) => EntityV0 :: ObjectAllValuesFrom ( ent ) , Entity :: ObjectHasValue ( ent ) => EntityV0 :: ObjectHasValue ( ent ) , Entity :: ObjectHasSelf ( ent ) => EntityV0 :: ObjectHasSelf ( ent ) , Entity :: ObjectMinCardinality ( ent ) => EntityV0 :: ObjectMinCardinality ( ent ) , Entity :: ObjectMaxCardinality ( ent ) => EntityV0 :: ObjectMaxCardinality ( ent ) , Entity :: ObjectExactCardinality ( ent ) => EntityV0 :: ObjectExactCardinality ( ent ) , Entity :: DataSomeValuesFrom ( ent ) => EntityV0 :: DataSomeValuesFrom ( ent ) , Entity :: DataAllValuesFrom ( ent ) => EntityV0 :: DataAllValuesFrom ( ent ) , Entity :: DataHasValue ( ent ) => EntityV0 :: DataHasValue ( ent ) , Entity :: DataMinCardinality ( ent ) => EntityV0 :: DataMinCardinality ( ent ) , Entity :: DataMaxCardinality ( ent ) => EntityV0 :: DataMaxCardinality ( ent ) , Entity :: DataExactCardinality ( ent ) => EntityV0 :: DataExactCardinality ( ent ) , Entity :: ObjectProperty ( ent ) => EntityV0 :: ObjectProperty ( ent ) , Entity :: InverseObjectProperty ( ent ) => EntityV0 :: InverseObjectProperty ( ent ) , Entity :: DataProperty ( ent ) => EntityV0 :: DataProperty ( ent ) , Entity :: Annotation ( ent ) => EntityV0 :: Annotation ( ent ) , Entity :: Individual ( ent ) => EntityV0 :: Individual ( ent ) , Entity :: AnnotationProperty ( ent ) => EntityV0 :: AnnotationProperty ( ent ) , Entity :: ClassAssertion ( ent ) => EntityV0 :: ClassAssertion ( ent ) , Entity :: NegativeClassAssertion ( ent ) => EntityV0 :: NegativeClassAssertion ( ent ) , Entity :: ObjectPropertyAssertion ( ent ) => EntityV0 :: ObjectPropertyAssertion ( ent ) , Entity :: NegativeObjectPropertyAssertion ( ent ) => EntityV0 :: NegativeObjectPropertyAssertion ( ent ) , Entity :: DataPropertyAssertion ( ent ) => EntityV0 :: DataPropertyAssertion ( ent ) , Entity :: NegativeDataPropertyAssertion ( ent ) => EntityV0 :: NegativeDataPropertyAssertion ( ent ) , Entity :: AnnotationAssertion ( ent ) => EntityV0 :: AnnotationAssertion ( ent ) , Entity :: NegativeAnnotationAssertion ( ent ) => EntityV0 :: NegativeAnnotationAssertion ( ent ) , Entity :: Literal ( ent ) => EntityV0 :: Literal ( ent ) , Entity :: Datatype ( ent ) => EntityV0 :: Datatype ( ent ) , Entity :: DataIntersectionOf ( ent ) => EntityV0 :: DataIntersectionOf ( ent ) , Entity :: DataUnionOf ( ent ) => EntityV0 :: DataUnionOf ( ent ) , Entity :: DataComplementOf ( ent ) => EntityV0 :: DataComplementOf ( ent ) , Entity :: DataOneOf ( ent ) => EntityV0 :: DataOneOf ( ent ) } } }impl EntityV0 { # [ cfg ( feature = "std" ) ] pub fn serialize < W : :: std :: io :: Write > ( & self , writer : & mut W ) -> Result < ( ) , std :: io :: Error > { let version_number = 0 ; writer . write_varint ( version_number ) ? ; let kind_id = Into :: < Entity > :: into ( self . clone ( ) ) . kind ( ) . id ( ) ; writer . write_varint ( kind_id ) ? ; Ok ( match & self { & EntityV0 :: Class ( ent ) => serde_cbor :: ser :: to_writer ( writer , & ent . clone ( ) . to_compact_format ( ) ) . unwrap ( ) , & EntityV0 :: ObjectIntersectionOf ( ent ) => serde_cbor :: ser :: to_writer ( writer , & ent . clone ( ) . to_compact_format ( ) ) . unwrap ( ) , & EntityV0 :: ObjectUnionOf ( ent ) => serde_cbor :: ser :: to_writer ( writer , & ent . clone ( ) . to_compact_format ( ) ) . unwrap ( ) , & EntityV0 :: ObjectComplementOf ( ent ) => serde_cbor :: ser :: to_writer ( writer , & ent . clone ( ) . to_compact_format ( ) ) . unwrap ( ) , & EntityV0 :: ObjectOneOf ( ent ) => serde_cbor :: ser :: to_writer ( writer , & ent . clone ( ) . to_compact_format ( ) ) . unwrap ( ) , & EntityV0 :: ObjectSomeValuesFrom ( ent ) => serde_cbor :: ser :: to_writer ( writer , & ent . clone ( ) . to_compact_format ( ) ) . unwrap ( ) , & EntityV0 :: ObjectAllValuesFrom ( ent ) => serde_cbor :: ser :: to_writer ( writer , & ent . clone ( ) . to_compact_format ( ) ) . unwrap ( ) , & EntityV0 :: ObjectHasValue ( ent ) => serde_cbor :: ser :: to_writer ( writer , & ent . clone ( ) . to_compact_format ( ) ) . unwrap ( ) , & EntityV0 :: ObjectHasSelf ( ent ) => serde_cbor :: ser :: to_writer ( writer , & ent . clone ( ) . to_compact_format ( ) ) . unwrap ( ) , & EntityV0 :: ObjectMinCardinality ( ent ) => serde_cbor :: ser :: to_writer ( writer , & ent . clone ( ) . to_compact_format ( ) ) . unwrap ( ) , & EntityV0 :: ObjectMaxCardinality ( ent ) => serde_cbor :: ser :: to_writer ( writer , & ent . clone ( ) . to_compact_format ( ) ) . unwrap ( ) , & EntityV0 :: ObjectExactCardinality ( ent ) => serde_cbor :: ser :: to_writer ( writer , & ent . clone ( ) . to_compact_format ( ) ) . unwrap ( ) , & EntityV0 :: DataSomeValuesFrom ( ent ) => serde_cbor :: ser :: to_writer ( writer , & ent . clone ( ) . to_compact_format ( ) ) . unwrap ( ) , & EntityV0 :: DataAllValuesFrom ( ent ) => serde_cbor :: ser :: to_writer ( writer , & ent . clone ( ) . to_compact_format ( ) ) . unwrap ( ) , & EntityV0 :: DataHasValue ( ent ) => serde_cbor :: ser :: to_writer ( writer , & ent . clone ( ) . to_compact_format ( ) ) . unwrap ( ) , & EntityV0 :: DataMinCardinality ( ent ) => serde_cbor :: ser :: to_writer ( writer , & ent . clone ( ) . to_compact_format ( ) ) . unwrap ( ) , & EntityV0 :: DataMaxCardinality ( ent ) => serde_cbor :: ser :: to_writer ( writer , & ent . clone ( ) . to_compact_format ( ) ) . unwrap ( ) , & EntityV0 :: DataExactCardinality ( ent ) => serde_cbor :: ser :: to_writer ( writer , & ent . clone ( ) . to_compact_format ( ) ) . unwrap ( ) , & EntityV0 :: ObjectProperty ( ent ) => serde_cbor :: ser :: to_writer ( writer , & ent . clone ( ) . to_compact_format ( ) ) . unwrap ( ) , & EntityV0 :: InverseObjectProperty ( ent ) => serde_cbor :: ser :: to_writer ( writer , & ent . clone ( ) . to_compact_format ( ) ) . unwrap ( ) , & EntityV0 :: DataProperty ( ent ) => serde_cbor :: ser :: to_writer ( writer , & ent . clone ( ) . to_compact_format ( ) ) . unwrap ( ) , & EntityV0 :: Annotation ( ent ) => serde_cbor :: ser :: to_writer ( writer , & ent . clone ( ) . to_compact_format ( ) ) . unwrap ( ) , & EntityV0 :: Individual ( ent ) => serde_cbor :: ser :: to_writer ( writer , & ent . clone ( ) . to_compact_format ( ) ) . unwrap ( ) , & EntityV0 :: AnnotationProperty ( ent ) => serde_cbor :: ser :: to_writer ( writer , & ent . clone ( ) . to_compact_format ( ) ) . unwrap ( ) , & EntityV0 :: ClassAssertion ( ent ) => serde_cbor :: ser :: to_writer ( writer , & ent . clone ( ) . to_compact_format ( ) ) . unwrap ( ) , & EntityV0 :: NegativeClassAssertion ( ent ) => serde_cbor :: ser :: to_writer ( writer , & ent . clone ( ) . to_compact_format ( ) ) . unwrap ( ) , & EntityV0 :: ObjectPropertyAssertion ( ent ) => serde_cbor :: ser :: to_writer ( writer , & ent . clone ( ) . to_compact_format ( ) ) . unwrap ( ) , & EntityV0 :: NegativeObjectPropertyAssertion ( ent ) => serde_cbor :: ser :: to_writer ( writer , & ent . clone ( ) . to_compact_format ( ) ) . unwrap ( ) , & EntityV0 :: DataPropertyAssertion ( ent ) => serde_cbor :: ser :: to_writer ( writer , & ent . clone ( ) . to_compact_format ( ) ) . unwrap ( ) , & EntityV0 :: NegativeDataPropertyAssertion ( ent ) => serde_cbor :: ser :: to_writer ( writer , & ent . clone ( ) . to_compact_format ( ) ) . unwrap ( ) , & EntityV0 :: AnnotationAssertion ( ent ) => serde_cbor :: ser :: to_writer ( writer , & ent . clone ( ) . to_compact_format ( ) ) . unwrap ( ) , & EntityV0 :: NegativeAnnotationAssertion ( ent ) => serde_cbor :: ser :: to_writer ( writer , & ent . clone ( ) . to_compact_format ( ) ) . unwrap ( ) , & EntityV0 :: Literal ( ent ) => serde_cbor :: ser :: to_writer ( writer , & ent . clone ( ) . to_compact_format ( ) ) . unwrap ( ) , & EntityV0 :: Datatype ( ent ) => serde_cbor :: ser :: to_writer ( writer , & ent . clone ( ) . to_compact_format ( ) ) . unwrap ( ) , & EntityV0 :: DataIntersectionOf ( ent ) => serde_cbor :: ser :: to_writer ( writer , & ent . clone ( ) . to_compact_format ( ) ) . unwrap ( ) , & EntityV0 :: DataUnionOf ( ent ) => serde_cbor :: ser :: to_writer ( writer , & ent . clone ( ) . to_compact_format ( ) ) . unwrap ( ) , & EntityV0 :: DataComplementOf ( ent ) => serde_cbor :: ser :: to_writer ( writer , & ent . clone ( ) . to_compact_format ( ) ) . unwrap ( ) , & EntityV0 :: DataOneOf ( ent ) => serde_cbor :: ser :: to_writer ( writer , & ent . clone ( ) . to_compact_format ( ) ) . unwrap ( ) } ) } # [ cfg ( feature = "std" ) ] pub fn deserialize < R : :: std :: io :: Read > ( reader : & mut R ) -> Result < Self , std :: io :: Error > { let version_number : u64 = reader . read_varint ( ) ? ; if version_number != 0 { panic ! ( "Can only parse version 0 entity." ) ; } let kind_id : u64 = reader . read_varint ( ) ? ; Ok ( match kind_id { 0u64 => EntityV0 :: Class ( FormatCompact :: from_compact_format ( serde_cbor :: de :: from_reader ( reader ) . unwrap ( ) ) ) , 1u64 => EntityV0 :: ObjectIntersectionOf ( FormatCompact :: from_compact_format ( serde_cbor :: de :: from_reader ( reader ) . unwrap ( ) ) ) , 2u64 => EntityV0 :: ObjectUnionOf ( FormatCompact :: from_compact_format ( serde_cbor :: de :: from_reader ( reader ) . unwrap ( ) ) ) , 3u64 => EntityV0 :: ObjectComplementOf ( FormatCompact :: from_compact_format ( serde_cbor :: de :: from_reader ( reader ) . unwrap ( ) ) ) , 4u64 => EntityV0 :: ObjectOneOf ( FormatCompact :: from_compact_format ( serde_cbor :: de :: from_reader ( reader ) . unwrap ( ) ) ) , 5u64 => EntityV0 :: ObjectSomeValuesFrom ( FormatCompact :: from_compact_format ( serde_cbor :: de :: from_reader ( reader ) . unwrap ( ) ) ) , 6u64 => EntityV0 :: ObjectAllValuesFrom ( FormatCompact :: from_compact_format ( serde_cbor :: de :: from_reader ( reader ) . unwrap ( ) ) ) , 7u64 => EntityV0 :: ObjectHasValue ( FormatCompact :: from_compact_format ( serde_cbor :: de :: from_reader ( reader ) . unwrap ( ) ) ) , 8u64 => EntityV0 :: ObjectHasSelf ( FormatCompact :: from_compact_format ( serde_cbor :: de :: from_reader ( reader ) . unwrap ( ) ) ) , 9u64 => EntityV0 :: ObjectMinCardinality ( FormatCompact :: from_compact_format ( serde_cbor :: de :: from_reader ( reader ) . unwrap ( ) ) ) , 10u64 => EntityV0 :: ObjectMaxCardinality ( FormatCompact :: from_compact_format ( serde_cbor :: de :: from_reader ( reader ) . unwrap ( ) ) ) , 11u64 => EntityV0 :: ObjectExactCardinality ( FormatCompact :: from_compact_format ( serde_cbor :: de :: from_reader ( reader ) . unwrap ( ) ) ) , 12u64 => EntityV0 :: DataSomeValuesFrom ( FormatCompact :: from_compact_format ( serde_cbor :: de :: from_reader ( reader ) . unwrap ( ) ) ) , 13u64 => EntityV0 :: DataAllValuesFrom ( FormatCompact :: from_compact_format ( serde_cbor :: de :: from_reader ( reader ) . unwrap ( ) ) ) , 14u64 => EntityV0 :: DataHasValue ( FormatCompact :: from_compact_format ( serde_cbor :: de :: from_reader ( reader ) . unwrap ( ) ) ) , 15u64 => EntityV0 :: DataMinCardinality ( FormatCompact :: from_compact_format ( serde_cbor :: de :: from_reader ( reader ) . unwrap ( ) ) ) , 16u64 => EntityV0 :: DataMaxCardinality ( FormatCompact :: from_compact_format ( serde_cbor :: de :: from_reader ( reader ) . unwrap ( ) ) ) , 17u64 => EntityV0 :: DataExactCardinality ( FormatCompact :: from_compact_format ( serde_cbor :: de :: from_reader ( reader ) . unwrap ( ) ) ) , 18u64 => EntityV0 :: ObjectProperty ( FormatCompact :: from_compact_format ( serde_cbor :: de :: from_reader ( reader ) . unwrap ( ) ) ) , 19u64 => EntityV0 :: InverseObjectProperty ( FormatCompact :: from_compact_format ( serde_cbor :: de :: from_reader ( reader ) . unwrap ( ) ) ) , 20u64 => EntityV0 :: DataProperty ( FormatCompact :: from_compact_format ( serde_cbor :: de :: from_reader ( reader ) . unwrap ( ) ) ) , 21u64 => EntityV0 :: Annotation ( FormatCompact :: from_compact_format ( serde_cbor :: de :: from_reader ( reader ) . unwrap ( ) ) ) , 22u64 => EntityV0 :: Individual ( FormatCompact :: from_compact_format ( serde_cbor :: de :: from_reader ( reader ) . unwrap ( ) ) ) , 23u64 => EntityV0 :: AnnotationProperty ( FormatCompact :: from_compact_format ( serde_cbor :: de :: from_reader ( reader ) . unwrap ( ) ) ) , 24u64 => EntityV0 :: ClassAssertion ( FormatCompact :: from_compact_format ( serde_cbor :: de :: from_reader ( reader ) . unwrap ( ) ) ) , 25u64 => EntityV0 :: NegativeClassAssertion ( FormatCompact :: from_compact_format ( serde_cbor :: de :: from_reader ( reader ) . unwrap ( ) ) ) , 26u64 => EntityV0 :: ObjectPropertyAssertion ( FormatCompact :: from_compact_format ( serde_cbor :: de :: from_reader ( reader ) . unwrap ( ) ) ) , 27u64 => EntityV0 :: NegativeObjectPropertyAssertion ( FormatCompact :: from_compact_format ( serde_cbor :: de :: from_reader ( reader ) . unwrap ( ) ) ) , 28u64 => EntityV0 :: DataPropertyAssertion ( FormatCompact :: from_compact_format ( serde_cbor :: de :: from_reader ( reader ) . unwrap ( ) ) ) , 29u64 => EntityV0 :: NegativeDataPropertyAssertion ( FormatCompact :: from_compact_format ( serde_cbor :: de :: from_reader ( reader ) . unwrap ( ) ) ) , 30u64 => EntityV0 :: AnnotationAssertion ( FormatCompact :: from_compact_format ( serde_cbor :: de :: from_reader ( reader ) . unwrap ( ) ) ) , 31u64 => EntityV0 :: NegativeAnnotationAssertion ( FormatCompact :: from_compact_format ( serde_cbor :: de :: from_reader ( reader ) . unwrap ( ) ) ) , 32u64 => EntityV0 :: Literal ( FormatCompact :: from_compact_format ( serde_cbor :: de :: from_reader ( reader ) . unwrap ( ) ) ) , 33u64 => EntityV0 :: Datatype ( FormatCompact :: from_compact_format ( serde_cbor :: de :: from_reader ( reader ) . unwrap ( ) ) ) , 34u64 => EntityV0 :: DataIntersectionOf ( FormatCompact :: from_compact_format ( serde_cbor :: de :: from_reader ( reader ) . unwrap ( ) ) ) , 35u64 => EntityV0 :: DataUnionOf ( FormatCompact :: from_compact_format ( serde_cbor :: de :: from_reader ( reader ) . unwrap ( ) ) ) , 36u64 => EntityV0 :: DataComplementOf ( FormatCompact :: from_compact_format ( serde_cbor :: de :: from_reader ( reader ) . unwrap ( ) ) ) , 37u64 => EntityV0 :: DataOneOf ( FormatCompact :: from_compact_format ( serde_cbor :: de :: from_reader ( reader ) . unwrap ( ) ) ) , _ => panic ! ( "Unrecognized kind id." ) } ) } }