pub trait DynRustEmbed {
// Required methods
fn get(&self, file_path: &str) -> Option<EmbeddedFile>;
fn names(&self) -> Vec<Cow<'static, str>>;
}Expand description
A dyn-compatible (“object safe”) counterpart to RustEmbed.
RustEmbed cannot be used as dyn RustEmbed because its methods have no
self parameter (they are associated functions on a marker type). This
trait exists for callers who need to store or pass around an embedded
directory as a trait object, e.g. Box<dyn DynRustEmbed>.
It is blanket-implemented for every type that implements RustEmbed, so
there is nothing to derive or implement manually:
use rust_embed::{DynRustEmbed, Embed};
#[derive(Embed)]
#[folder = "examples/public/"]
struct Asset;
fn main() {
let embed: Box<dyn DynRustEmbed> = Box::new(Asset);
let _ = embed.get("index.html");
}Required Methods§
Sourcefn get(&self, file_path: &str) -> Option<EmbeddedFile>
fn get(&self, file_path: &str) -> Option<EmbeddedFile>
Get an embedded file and its metadata. See RustEmbed::get.
Dyn Compatibility§
This trait is dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".