Builder Pattern
Use builder pattern for complex configuration:
#[derive(Debug, Clone, Default)]pub struct Config { timeout: Duration, retries: u32,}
impl Config { #[must_use] pub const fn new() -> Self { Self { timeout: Duration::from_secs(30), retries: 3, } }
#[must_use] pub const fn with_timeout(mut self, timeout: Duration) -> Self { self.timeout = timeout; self }
#[must_use] pub const fn with_retries(mut self, retries: u32) -> Self { self.retries = retries; self }}