diff options
Diffstat (limited to 'components/script/dom/bindings/inheritance.rs')
-rw-r--r-- | components/script/dom/bindings/inheritance.rs | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/components/script/dom/bindings/inheritance.rs b/components/script/dom/bindings/inheritance.rs index c017a806b6e..eaf394e594d 100644 --- a/components/script/dom/bindings/inheritance.rs +++ b/components/script/dom/bindings/inheritance.rs @@ -16,7 +16,8 @@ use std::mem; pub trait Castable: IDLInterface + DomObject + Sized { /// Check whether a DOM object implements one of its deriving interfaces. fn is<T>(&self) -> bool - where T: DerivedFrom<Self> + where + T: DerivedFrom<Self>, { let class = unsafe { get_dom_class(self.reflector().get_jsobject().get()).unwrap() }; T::derives(class) @@ -24,15 +25,17 @@ pub trait Castable: IDLInterface + DomObject + Sized { /// Cast a DOM object upwards to one of the interfaces it derives from. fn upcast<T>(&self) -> &T - where T: Castable, - Self: DerivedFrom<T> + where + T: Castable, + Self: DerivedFrom<T>, { unsafe { mem::transmute(self) } } /// Cast a DOM object downwards to one of the interfaces it might implement. fn downcast<T>(&self) -> Option<&T> - where T: DerivedFrom<Self> + where + T: DerivedFrom<Self>, { if self.is::<T>() { Some(unsafe { mem::transmute(self) }) |