pub trait LiquidPrimitiveType:
ArrowPrimitiveType<Native: AsPrimitive<<Self::UnSignedType as ArrowPrimitiveType>::Native> + AsPrimitive<i64> + FromPrimitive + Display>
+ Debug
+ Send
+ Sync
+ Sealed
+ PrimitiveKind
+ PhysicalTypeMarker {
type UnSignedType: ArrowPrimitiveType<Native: AsPrimitive<Self::Native> + AsPrimitive<u64> + BitPacking> + Debug;
}Expand description
LiquidPrimitiveType is a sealed trait that represents the primitive types supported by Liquid. Implemented for all supported integer, date, and timestamp Arrow primitive types.
I have to admit this trait is super complicated. Luckily users never have to worry about it, they can just use the types that are already implemented. We could have implemented this as a macro, but macro is ugly. Type is spec, code is proof.
Required Associated Types§
Sourcetype UnSignedType: ArrowPrimitiveType<Native: AsPrimitive<Self::Native> + AsPrimitive<u64> + BitPacking> + Debug
type UnSignedType: ArrowPrimitiveType<Native: AsPrimitive<Self::Native> + AsPrimitive<u64> + BitPacking> + Debug
The unsigned type that can be used to represent the signed type.
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.