pub trait Castable:
IDLInterface
+ DomObject
+ Sized {
// Provided methods
fn is<T>(&self) -> bool
where T: DerivedFrom<Self> { ... }
fn upcast<T>(&self) -> &T
where T: Castable,
Self: DerivedFrom<T> { ... }
fn downcast<T>(&self) -> Option<&T>
where T: DerivedFrom<Self> { ... }
}
Expand description
A trait to hold the cast functions of IDL interfaces that either derive or are derived from other interfaces.
Provided Methods§
sourcefn is<T>(&self) -> boolwhere
T: DerivedFrom<Self>,
fn is<T>(&self) -> boolwhere
T: DerivedFrom<Self>,
Check whether a DOM object implements one of its deriving interfaces.
sourcefn upcast<T>(&self) -> &Twhere
T: Castable,
Self: DerivedFrom<T>,
fn upcast<T>(&self) -> &Twhere
T: Castable,
Self: DerivedFrom<T>,
Cast a DOM object upwards to one of the interfaces it derives from.
sourcefn downcast<T>(&self) -> Option<&T>where
T: DerivedFrom<Self>,
fn downcast<T>(&self) -> Option<&T>where
T: DerivedFrom<Self>,
Cast a DOM object downwards to one of the interfaces it might implement.
Object Safety§
This trait is not object safe.