pub trait Protocol<T: 'static> {
// Required methods
fn guid() -> Guid;
fn new(fs: &'static mut T) -> Self
where Self: Sized;
// Provided methods
fn locate_protocol() -> Result<Self>
where Self: Sized { ... }
fn handle_protocol(handle: Handle) -> Result<Self>
where Self: Sized { ... }
fn locate_handle() -> Result<Vec<Handle>> { ... }
fn one() -> Result<Self>
where Self: Sized { ... }
fn all() -> Vec<Self>
where Self: Sized { ... }
}Required Methods§
Provided Methods§
fn locate_protocol() -> Result<Self>where
Self: Sized,
fn handle_protocol(handle: Handle) -> Result<Self>where
Self: Sized,
fn locate_handle() -> Result<Vec<Handle>>
fn one() -> Result<Self>where
Self: Sized,
fn all() -> Vec<Self>where
Self: Sized,
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.