Trait LanguageRegistry

Source
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§

Source

fn has_language(&self, lang_name: &str) -> bool

Source

fn handle_language<Handler: LanguageHandler>( &self, lang_name: &str, handler: &mut Handler, ) -> Option<Handler::Result>

Source

fn each_language<Handler: LanguageHandler>( &self, handler: &mut Handler, ) -> Vec<Handler::Result>

Provided Methods§

Source

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.

Implementors§