pub trait Version:
Send
+ Sync
+ NonLocalValue
+ ValueDebug {
// Required method
fn id(self: Vc<Self>) -> Vc<RcStr>
where Self: Sized;
}Expand description
Describes the current version of an object, and how to update them from an earlier version.
Important: Implementations must not contain instances of [Vc]! This should describe a
specific version, and the value of a [Vc] can change due to invalidations or cache eviction.
Required Methods§
Trait Implementations§
impl Dynamic<Box<dyn ValueDebug>> for Box<dyn Version>
Available on debug-assertions enabled only.
impl Dynamic<Box<dyn Version>> for Box<dyn Version>
impl Upcast<Box<dyn ValueDebug>> for Box<dyn Version>
Available on debug-assertions enabled only.
impl Upcast<Box<dyn Version>> for Box<dyn Version>
impl Upcast<Box<dyn Version>> for NotFoundVersion
impl Upcast<Box<dyn Version>> for FileHashVersion
impl UpcastStrict<Box<dyn ValueDebug>> for Box<dyn Version>
Available on debug-assertions enabled only.
impl UpcastStrict<Box<dyn Version>> for NotFoundVersion
impl UpcastStrict<Box<dyn Version>> for FileHashVersion
Source§impl VcValueTrait for Box<dyn Version>
impl VcValueTrait for Box<dyn Version>
Source§const IMPL_VTABLES: &'static VTableRegistry<Self::ValueTrait>
const IMPL_VTABLES: &'static VTableRegistry<Self::ValueTrait>
The per-trait vtable registry, populated by [crate::value_type::register_all_trait_methods] Read more
type ValueTrait = dyn Version
Source§fn get_trait_type_id() -> TraitTypeId
fn get_trait_type_id() -> TraitTypeId
Returns the type id of the trait object.
Dyn Compatibility§
This trait is dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".