pub trait LanguageRegistry: Sized {
// Required methods
fn has_language(&self, lang_name: &str) -> bool;
fn handle_language<Handler: LanguageHandler>(
&self,
lang_name: &str,
handler: &mut Handler,
) -> Option<Handler::Result>;
fn each_language<Handler: LanguageHandler>(
&self,
handler: &mut Handler,
) -> Vec<Handler::Result>;
// Provided method
fn add_language<Lang: Language>(self) -> LanguageRegistryCons<Lang, Self> { ... }
}
Required Methods§
fn has_language(&self, lang_name: &str) -> bool
fn handle_language<Handler: LanguageHandler>( &self, lang_name: &str, handler: &mut Handler, ) -> Option<Handler::Result>
fn each_language<Handler: LanguageHandler>( &self, handler: &mut Handler, ) -> Vec<Handler::Result>
Provided Methods§
fn add_language<Lang: Language>(self) -> LanguageRegistryCons<Lang, 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.