runtime.rs
1use std::collections::HashSet;
2
3use mlua::{FromLua, Lua, ToLua, Value};
4
5pub type Interface = HashSet<String>;
6
7pub trait Runtime
8where
9 Self: Sized,
10{
11 type Module;
12
13 fn init(plugin: Self::Module) -> Option<Self>;
14 fn interface(&self) -> Interface;
15 // fn val<'a, T>(&'a self, name: String) -> Option<T>;
16 // fn call<'a, A: MyFromLua<'a>, R>(&'a mut self, name: String, arg: A) -> Option<R>;
17}