diff options
Diffstat (limited to 'src/assemblage.rs')
| -rw-r--r-- | src/assemblage.rs | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/src/assemblage.rs b/src/assemblage.rs index 8949205..a81ce82 100644 --- a/src/assemblage.rs +++ b/src/assemblage.rs @@ -1,5 +1,6 @@ +use std::any::Any; #[macro_export] @@ -21,7 +22,7 @@ macro_rules! assemblage { } #[allow(unused_variables, unused_mut)] - fn init_from_json(&mut self, mut args: Vec<serde_json::Value>, kwargs: std::collections::HashMap<&str, serde_json::Value>) { + fn init_from_json(&mut self, mut args: Vec<serde_json::Value>, kwargs: std::collections::HashMap<String, serde_json::Value>) { $( if args.len() > 0 { let val = args.remove(0); @@ -54,9 +55,9 @@ macro_rules! unpack_json { } -pub trait Assemblage: Send + Sync { +pub trait Assemblage: Send + Sync + Any { fn build<'a>(&self, builder: specs::EntityBuilder<'a>) -> specs::EntityBuilder<'a>; - fn init_from_json(&mut self, args: Vec<serde_json::Value>, kwargs: std::collections::HashMap<&str, serde_json::Value>); + fn init_from_json(&mut self, args: Vec<serde_json::Value>, kwargs: std::collections::HashMap<String, serde_json::Value>); } |
