X-Git-Url: https://git.lizzy.rs/?a=blobdiff_plain;f=src%2Flibrustc_trans%2Fback%2Farchive.rs;h=31dee241de440d1edddb9e5d597d52303ca6f45e;hb=6f4ab9458a7ad06c8ce630604f533c8c0c0acef4;hp=902065c8688d0d808fb6c2c29d25c82d8bbd219a;hpb=9678ad2b0da8999b55786a1159280266c7ca7e64;p=rust.git diff --git a/src/librustc_trans/back/archive.rs b/src/librustc_trans/back/archive.rs index 902065c8688..31dee241de4 100644 --- a/src/librustc_trans/back/archive.rs +++ b/src/librustc_trans/back/archive.rs @@ -89,7 +89,7 @@ impl<'a> ArchiveBuilder<'a> { /// by `config`. pub fn new(config: ArchiveConfig<'a>) -> ArchiveBuilder<'a> { ArchiveBuilder { - config: config, + config, removals: Vec::new(), additions: Vec::new(), should_update_symbols: false, @@ -126,7 +126,7 @@ fn src_archive(&mut self) -> Option<&ArchiveRO> { Some(ref src) => src, None => return None, }; - self.src_archive = Some(ArchiveRO::open(src)); + self.src_archive = Some(ArchiveRO::open(src).ok()); self.src_archive.as_ref().unwrap().as_ref() } @@ -186,12 +186,11 @@ fn add_archive(&mut self, archive: &Path, skip: F) where F: FnMut(&str) -> bool + 'static { let archive = match ArchiveRO::open(archive) { - Some(ar) => ar, - None => return Err(io::Error::new(io::ErrorKind::Other, - "failed to open archive")), + Ok(ar) => ar, + Err(e) => return Err(io::Error::new(io::ErrorKind::Other, e)), }; self.additions.push(Addition::Archive { - archive: archive, + archive, skip: Box::new(skip), }); Ok(())