1 2 3 4 5 6 7 8 9 10 11 12
use std::error::Error; use std::collections::HashMap; use value::Value; pub trait Source { fn collect(&self) -> HashMap<String, Value>; } pub trait SourceBuilder { fn build(&self) -> Result<Box<Source + Send + Sync>, Box<Error>>; }