use std::sync::Arc; use serde::Deserialize; const fn default_port() -> u16 { 6667 } const fn default_tls() -> bool { true } fn default_suffix() -> Arc { "[i]".into() } #[derive(Clone, Debug, Deserialize)] pub struct IrcConfig { pub server: String, #[serde(default="default_port")] pub port: u16, #[serde(default="default_tls")] pub tls: bool, pub nick: String, #[serde(default)] pub alt_nicks: Vec, #[serde(default="default_suffix")] pub suffix: Arc, }