diff options
Diffstat (limited to 'src/model/element.rs')
| -rw-r--r-- | src/model/element.rs | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/src/model/element.rs b/src/model/element.rs index c6738582..4c825a20 100644 --- a/src/model/element.rs +++ b/src/model/element.rs @@ -63,6 +63,14 @@ impl ElemFunc { (self.0.construct)(vm, args) } + /// Whether the contained element has the given capability. + pub fn can<C>(&self) -> bool + where + C: ?Sized + 'static, + { + (self.0.vtable)(TypeId::of::<C>()).is_some() + } + /// Create a selector for elements of this function. pub fn select(self) -> Selector { Selector::Elem(self, None) |
