pub trait ProviderMarker {
const ID: ProviderId;
}Expand description
Provider-owned marker for an extensible provider namespace.
Provider crates implement this trait on their own zero-sized marker. The neutral crate has no provider registry to edit.
use cloud_sdk::{ProviderId, ProviderMarker, provider_id};
enum ExampleProvider {}
impl ProviderMarker for ExampleProvider {
const ID: ProviderId = provider_id!("example-cloud");
}
assert_eq!(ExampleProvider::ID.as_str(), "example-cloud");The private ID representation prevents bypassing validation.
ⓘ
use cloud_sdk::ProviderId;
const FORGED: ProviderId = ProviderId("UPPERCASE");Required Associated Constants§
Sourceconst ID: ProviderId
const ID: ProviderId
Canonical provider identifier.
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".