diff --git a/src/wiki_lookup.rs b/src/wiki_lookup.rs index 0428fa4..10aeecc 100644 --- a/src/wiki_lookup.rs +++ b/src/wiki_lookup.rs @@ -9,25 +9,27 @@ use new_article_resource::NewArticleResource; use state::State; use web::{Lookup, Resource}; +type BoxResource = Box; + lazy_static! { - static ref LOOKUP_MAP: HashMap Box + Sync + Send>> = { + static ref LOOKUP_MAP: HashMap BoxResource + Sync + Send>> = { let mut lookup_map = HashMap::new(); lookup_map.insert( format!("/_assets/style-{}.css", StyleCss::checksum()), - Box::new(|| Box::new(StyleCss) as Box) + Box::new(|| Box::new(StyleCss) as BoxResource) as Box Box + Sync + Send> ); lookup_map.insert( format!("/_assets/script-{}.js", ScriptJs::checksum()), - Box::new(|| Box::new(ScriptJs) as Box) + Box::new(|| Box::new(ScriptJs) as BoxResource) as Box Box + Sync + Send> ); lookup_map.insert( format!("/_assets/amatic-sc-v9-latin-regular.woff"), - Box::new(|| Box::new(AmaticFont) as Box) + Box::new(|| Box::new(AmaticFont) as BoxResource) as Box Box + Sync + Send> ); @@ -47,7 +49,7 @@ impl WikiLookup { } impl Lookup for WikiLookup { - type Resource = Box; + type Resource = BoxResource; type Error = Box<::std::error::Error + Send + Sync>; type Future = Box, Error = Self::Error>>; @@ -75,8 +77,7 @@ impl Lookup for WikiLookup { let slugified_slug = ::slug::slugify(&slug); if slugified_slug != slug { return Box::new(finished(Some( - Box::new(ArticleRedirectResource::new(slugified_slug)) - as Box + Box::new(ArticleRedirectResource::new(slugified_slug)) as BoxResource ))); } @@ -86,14 +87,11 @@ impl Lookup for WikiLookup { Box::new(self.state.lookup_slug(slug.clone()) .and_then(|x| Ok(Some(match x { SlugLookup::Miss => - Box::new(NewArticleResource::new(state, slug)) - as Box, + Box::new(NewArticleResource::new(state, slug)) as BoxResource, SlugLookup::Hit { article_id, revision } => - Box::new(ArticleResource::new(state, article_id, revision)) - as Box, + Box::new(ArticleResource::new(state, article_id, revision)) as BoxResource, SlugLookup::Redirect(slug) => - Box::new(ArticleRedirectResource::new(slug)) - as Box + Box::new(ArticleRedirectResource::new(slug)) as BoxResource, }))) ) }