Skip to main content

CompletionBackend

Trait CompletionBackend 

Source
pub trait CompletionBackend: Backend {
    type Token: BackendToken;

    // Required methods
    fn current_slot() -> Option<CurrentSlot<Self>>;
    fn set_slot(slot: Option<CurrentSlot<Self>>);
    fn install_external(
        aux: Option<ExternalDispatch<Self>>,
    ) -> Option<ExternalDispatch<Self>>;
    fn current_external() -> Option<ExternalDispatch<Self>>;
    fn drive_with<R: CompletionRouter<Self>>(
        driver: &mut Self::Driver,
        router: &mut R,
    ) -> Result<bool>;
    fn dispatch_completions<R: CompletionRouter<Self>>(
        driver: &mut Self::Driver,
        router: &mut R,
    );

    // Provided methods
    fn current_driver_mut() -> *mut Self::Driver { ... }
    fn set_current(driver: *mut Self::Driver) { ... }
    fn clear_current() { ... }
}

Required Associated Types§

Required Methods§

Provided Methods§

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety".

Implementors§