pub trait Record: Sized + Field {
type Accessor: RecordAccessor + FieldAccessor;
type Reader<'a>: RecordRef + FieldRef<'a>;
type Writer<'a>: RecordRefMut + FieldRefMut<'a>;
// Required method
fn schema_name() -> &'static str;
// Provided methods
fn new_single_object(
schema_set: &SchemaSet,
) -> Result<SingleObject, DataSetErrorWithBacktrace> { ... }
fn new_builder(schema_set: &SchemaSet) -> RecordBuilder<Self> { ... }
}
Required Associated Types§
type Accessor: RecordAccessor + FieldAccessor
type Reader<'a>: RecordRef + FieldRef<'a>
type Writer<'a>: RecordRefMut + FieldRefMut<'a>
Required Methods§
fn schema_name() -> &'static str
Provided Methods§
fn new_single_object( schema_set: &SchemaSet, ) -> Result<SingleObject, DataSetErrorWithBacktrace>
fn new_builder(schema_set: &SchemaSet) -> RecordBuilder<Self>
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.