pub trait Config: Sized {
type Partial: PartialConfig;
const META: ConfigMeta;
// Required method
fn from_partial(partial: Self::Partial) -> Self;
// Provided methods
fn default_values(
context: &<Self::Partial as PartialConfig>::Context
) -> Result<Self, ConfigError> { ... }
fn partial() -> Self::Partial { ... }
fn validate(
&self,
context: &<Self::Partial as PartialConfig>::Context
) -> Result<(), ValidatorError> { ... }
fn validate_with_path(
&self,
_context: &<Self::Partial as PartialConfig>::Context,
_path: SettingPath
) -> Result<(), ValidatorError> { ... }
}