Skip to main content

ProviderMarker

Trait ProviderMarker 

Source
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§

Source

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".

Implementors§