difftreelog
feat builtin downcasting
in: master
2 files changed
crates/jrsonnet-evaluator/src/function/builtin.rsdiffbeforeafterboth1use std::borrow::Cow;1use std::{any::Any, borrow::Cow};223use jrsonnet_gcmodule::Trace;3use jrsonnet_gcmodule::Trace;4426 /// Call the builtin26 /// Call the builtin27 fn call(&self, ctx: Context, loc: CallLocation<'_>, args: &dyn ArgsLike) -> Result<Val>;27 fn call(&self, ctx: Context, loc: CallLocation<'_>, args: &dyn ArgsLike) -> Result<Val>;2829 fn as_any(&self) -> &dyn Any;28}30}293130pub trait StaticBuiltin: Builtin + Send + Sync32pub trait StaticBuiltin: Builtin + Send + Sync77 self.handler.call(&args)79 self.handler.call(&args)78 }80 }8182 fn as_any(&self) -> &dyn Any {83 self84 }79}85}808681pub trait NativeCallbackHandler: Trace {87pub trait NativeCallbackHandler: Trace {crates/jrsonnet-macros/src/lib.rsdiffbeforeafterboth--- a/crates/jrsonnet-macros/src/lib.rs
+++ b/crates/jrsonnet-macros/src/lib.rs
@@ -380,6 +380,9 @@
let result: #result = #name(#(#pass)*);
<_ as Typed>::into_result(result)
}
+ fn as_any(&self) -> &dyn ::std::any::Any {
+ self
+ }
}
};
})