extensions: Option<Vec<Component>>,
}
+impl Target {
+ fn unavailable() -> Target {
+ Target {
+ available: false,
+ url: None,
+ hash: None,
+ components: None,
+ extensions: None,
+ }
+ }
+}
+
#[derive(RustcEncodable)]
struct Component {
pkg: String,
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
}
};
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 {