1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
use ::abc::{Loader, LoadResult, LoadError}; pub type GroupLoader = Vec<Box<Loader>>; impl Loader for Vec<Box<Loader>> { fn load(&self, name: &str) -> LoadResult { for loader in self { return match loader.load(name) { Err(LoadError::NotFound) => continue, Err(err) => Err(err), Ok(res) => Ok(res), } } Err(LoadError::NotFound) } }