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§
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()
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".