pub trait Engineer{
type Builder;
type Params;
const NORMAL_FIELDS: usize;
const OPTIONAL_FIELDS: usize;
// Required method
fn builder(required: Self::Params) -> Self::Builder;
// Provided methods
fn build(required: Self::Params) -> Self { ... }
fn build_default() -> Self
where Self::Params: Default { ... }
}Required Associated Constants§
const NORMAL_FIELDS: usize
const OPTIONAL_FIELDS: usize
Required Associated Types§
Required Methods§
Provided Methods§
fn build(required: Self::Params) -> Self
fn build_default() -> 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.