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", so this trait is not object safe.

Implementors§