From 5439c9b4ec975083cb1bc2000a5faa21f737997a Mon Sep 17 00:00:00 2001 From: Andrea Canciani Date: Tue, 25 Apr 2017 16:11:18 +0200 Subject: [PATCH] Define the unavailable target just once and re-use it The same unavailable target value is used in two different places. Abstracting it makes it easier to update it and recognise its purpose. --- src/tools/build-manifest/src/main.rs | 30 +++++++++++++--------------- 1 file changed, 14 insertions(+), 16 deletions(-) diff --git a/src/tools/build-manifest/src/main.rs b/src/tools/build-manifest/src/main.rs index c6f6b2dbc0f2..574af1246361 100644 --- a/src/tools/build-manifest/src/main.rs +++ b/src/tools/build-manifest/src/main.rs @@ -120,6 +120,18 @@ struct Target { extensions: Option>, } +impl Target { + fn unavailable() -> Target { + Target { + available: false, + url: None, + hash: None, + components: None, + extensions: None, + } + } +} + #[derive(RustcEncodable)] struct Component { pkg: String, @@ -242,13 +254,7 @@ impl Builder { let digest = match self.digests.remove(&filename) { Some(digest) => digest, None => { - pkg.target.insert(host.to_string(), Target { - available: false, - url: None, - hash: None, - components: None, - extensions: None, - }); + pkg.target.insert(host.to_string(), Target::unavailable()); continue } }; @@ -312,15 +318,7 @@ impl Builder { let filename = self.filename(pkgname, name); let digest = match self.digests.remove(&filename) { Some(digest) => digest, - None => { - return (name.to_string(), Target { - available: false, - url: None, - hash: None, - components: None, - extensions: None, - }) - } + None => return (name.to_string(), Target::unavailable()), }; (name.to_string(), Target {