pub trait TargetTrait<'a>: Debug + Sized {
const DEFAULT_KEY: &'static str;
// Required methods
fn all() -> &'a BTreeMap<&'a str, Self>;
fn name_list() -> Vec<&'a str>;
fn triple(&'a self) -> &'a str;
fn arch(&'a self) -> &'a str;
// Provided methods
fn default_ref() -> &'a Self { ... }
fn for_name(name: &str) -> Option<&'a Self> { ... }
fn for_arch(arch: &str) -> Option<&'a Self> { ... }
fn install(&'a self) -> Result<ExitStatus, Error> { ... }
fn install_all() -> Result<(), Error>
where Self: 'a { ... }
}
Required Associated Constants§
const DEFAULT_KEY: &'static str
Required Methods§
fn all() -> &'a BTreeMap<&'a str, Self>
fn name_list() -> Vec<&'a str>
fn triple(&'a self) -> &'a str
fn arch(&'a self) -> &'a str
Provided Methods§
fn default_ref() -> &'a Self
fn for_name(name: &str) -> Option<&'a Self>
fn for_arch(arch: &str) -> Option<&'a Self>
fn install(&'a self) -> Result<ExitStatus, Error>
fn install_all() -> Result<(), Error>where
Self: 'a,
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.