Replace uses of try!() macro with "?" operator

This commit is contained in:
Matthias Beyer 2017-10-30 20:17:21 +01:00
parent ec3daa1f41
commit da391954cc
2 changed files with 24 additions and 24 deletions

View file

@ -325,12 +325,12 @@ impl ExternalLinker for Entry {
s.input_str(&link.as_str()[..]); s.input_str(&link.as_str()[..]);
s.result_str() s.result_str()
}; };
let file_id = try!( let file_id =
ModuleEntryPath::new(format!("external/{}", hash)).into_storeid() ModuleEntryPath::new(format!("external/{}", hash)).into_storeid()
.map_dbg_err(|_| { .map_dbg_err(|_| {
format!("Failed to build StoreId for this hash '{:?}'", hash) format!("Failed to build StoreId for this hash '{:?}'", hash)
}) })
); ?;
debug!("Link = '{:?}'", link); debug!("Link = '{:?}'", link);
debug!("Hash = '{:?}'", hash); debug!("Hash = '{:?}'", hash);
@ -338,17 +338,17 @@ impl ExternalLinker for Entry {
// retrieve the file from the store, which implicitely creates the entry if it does not // retrieve the file from the store, which implicitely creates the entry if it does not
// exist // exist
let mut file = try!(store let mut file = store
.retrieve(file_id.clone()) .retrieve(file_id.clone())
.map_dbg_err(|_| { .map_dbg_err(|_| {
format!("Failed to create or retrieve an file for this link '{:?}'", link) format!("Failed to create or retrieve an file for this link '{:?}'", link)
})); })?;
debug!("Generating header content!"); debug!("Generating header content!");
{ {
let hdr = file.deref_mut().get_header_mut(); let hdr = file.deref_mut().get_header_mut();
let mut table = match try!(hdr.read("links.external.content")) { let mut table = match hdr.read("links.external.content")? {
Some(&Value::Table(ref table)) => table.clone(), Some(&Value::Table(ref table)) => table.clone(),
Some(_) => { Some(_) => {
warn!("There is a value at 'links.external.content' which is not a table."); warn!("There is a value at 'links.external.content' which is not a table.");
@ -363,12 +363,12 @@ impl ExternalLinker for Entry {
debug!("setting URL = '{:?}", v); debug!("setting URL = '{:?}", v);
table.insert(String::from("url"), v); table.insert(String::from("url"), v);
let _ = try!(hdr.insert("links.external.content", Value::Table(table))); let _ = hdr.insert("links.external.content", Value::Table(table))?;
debug!("Setting URL worked"); debug!("Setting URL worked");
} }
// then add an internal link to the new file or return an error if this fails // then add an internal link to the new file or return an error if this fails
let _ = try!(self.add_internal_link(file.deref_mut())); let _ = self.add_internal_link(file.deref_mut())?;
debug!("Error adding internal link"); debug!("Error adding internal link");
} }
debug!("Ready iterating"); debug!("Ready iterating");

View file

@ -406,7 +406,7 @@ impl InternalLinker for Entry {
new_links.push(link.get_location().clone().into()); new_links.push(link.get_location().clone().into());
} }
let new_links = try!(LinkIter::new(new_links) let new_links = LinkIter::new(new_links)
.into_values() .into_values()
.into_iter() .into_iter()
.fold(Ok(vec![]), |acc, elem| { .fold(Ok(vec![]), |acc, elem| {
@ -417,7 +417,7 @@ impl InternalLinker for Entry {
v v
}) })
}) })
})); })?;
let res = self let res = self
.get_header_mut() .get_header_mut()
.insert("links.internal", Value::Array(new_links)) .insert("links.internal", Value::Array(new_links))
@ -477,7 +477,7 @@ fn add_internal_link_with_instance(this: &mut Entry, link: &mut Entry, instance:
} }
fn rewrite_links<I: Iterator<Item = Link>>(header: &mut Value, links: I) -> Result<()> { fn rewrite_links<I: Iterator<Item = Link>>(header: &mut Value, links: I) -> Result<()> {
let links = try!(links.into_values() let links = links.into_values()
.into_iter() .into_iter()
.fold(Ok(vec![]), |acc, elem| { .fold(Ok(vec![]), |acc, elem| {
acc.and_then(move |mut v| { acc.and_then(move |mut v| {
@ -487,7 +487,7 @@ fn rewrite_links<I: Iterator<Item = Link>>(header: &mut Value, links: I) -> Resu
v v
}) })
}) })
})); })?;
debug!("Setting new link array: {:?}", links); debug!("Setting new link array: {:?}", links);
let process = header let process = header
@ -502,7 +502,7 @@ fn add_foreign_link(target: &mut Entry, from: StoreId) -> Result<()> {
debug!("Linking back from {:?} to {:?}", target.get_location(), from); debug!("Linking back from {:?} to {:?}", target.get_location(), from);
target.get_internal_links() target.get_internal_links()
.and_then(|links| { .and_then(|links| {
let links = try!(links let links = links
.chain(LinkIter::new(vec![from.into()])) .chain(LinkIter::new(vec![from.into()]))
.into_values() .into_values()
.into_iter() .into_iter()
@ -514,7 +514,7 @@ fn add_foreign_link(target: &mut Entry, from: StoreId) -> Result<()> {
v v
}) })
}) })
})); })?;
debug!("Setting links in {:?}: {:?}", target.get_location(), links); debug!("Setting links in {:?}: {:?}", target.get_location(), links);
let res = target let res = target
@ -551,7 +551,7 @@ fn process_rw_result(links: Result<Option<Value>>) -> Result<LinkIter> {
return Err(LEK::ExistingLinkTypeWrong.into()); return Err(LEK::ExistingLinkTypeWrong.into());
} }
let links : Vec<Link> = try!(links.into_iter() let links : Vec<Link> = links.into_iter()
.map(|link| { .map(|link| {
debug!("Matching the link: {:?}", link); debug!("Matching the link: {:?}", link);
match link { match link {
@ -566,11 +566,11 @@ fn process_rw_result(links: Result<Option<Value>>) -> Result<LinkIter> {
debug!("Things missing... returning Error instance"); debug!("Things missing... returning Error instance");
Err(LE::from_kind(LEK::LinkParserError)) Err(LE::from_kind(LEK::LinkParserError))
} else { } else {
let link = try!(tab.remove("link") let link = tab.remove("link")
.ok_or(LE::from_kind(LEK::LinkParserFieldMissingError))); .ok_or(LE::from_kind(LEK::LinkParserFieldMissingError))?;
let anno = try!(tab.remove("annotation") let anno = tab.remove("annotation")
.ok_or(LE::from_kind(LEK::LinkParserFieldMissingError))); .ok_or(LE::from_kind(LEK::LinkParserFieldMissingError))?;
debug!("Ok, here we go with building a Link::Annotated"); debug!("Ok, here we go with building a Link::Annotated");
match (link, anno) { match (link, anno) {
@ -591,7 +591,7 @@ fn process_rw_result(links: Result<Option<Value>>) -> Result<LinkIter> {
_ => unreachable!(), _ => unreachable!(),
} }
}) })
.collect()); .collect::<Result<Vec<Link>>>()?;
debug!("Ok, the RW action was successful, returning link vector now!"); debug!("Ok, the RW action was successful, returning link vector now!");
Ok(LinkIter::new(links)) Ok(LinkIter::new(links))
@ -641,7 +641,7 @@ pub mod store_check {
let mut map = HashMap::new(); let mut map = HashMap::new();
for element in iter { for element in iter {
debug!("Checking element = {:?}", element); debug!("Checking element = {:?}", element);
let entry = match try!(element) { let entry = match element? {
Some(e) => e, Some(e) => e,
None => { None => {
let e = String::from("TODO: Not yet handled"); let e = String::from("TODO: Not yet handled");
@ -659,7 +659,7 @@ pub mod store_check {
for internal_link in internal_links { for internal_link in internal_links {
debug!("internal link = {:?}", internal_link); debug!("internal link = {:?}", internal_link);
linking.outgoing.push(try!(internal_link).get_location().clone()); linking.outgoing.push(internal_link?.get_location().clone());
linking.incoming.push(entry.get_location().clone()); linking.incoming.push(entry.get_location().clone());
} }
@ -677,7 +677,7 @@ pub mod store_check {
if is_match!(self.get(id.clone()), Ok(Some(_))) { if is_match!(self.get(id.clone()), Ok(Some(_))) {
debug!("Exists in store: {:?}", id); debug!("Exists in store: {:?}", id);
if !try!(id.exists()) { if !id.exists()? {
warn!("Does exist in store but not on FS: {:?}", id); warn!("Does exist in store but not on FS: {:?}", id);
return Err(LE::from_kind(LEK::LinkTargetDoesNotExist)) return Err(LE::from_kind(LEK::LinkTargetDoesNotExist))
} }
@ -750,8 +750,8 @@ pub mod store_check {
}) })
.and_then(|nw| { .and_then(|nw| {
for (id, linking) in nw.iter() { for (id, linking) in nw.iter() {
try!(incoming_links_exists_as_outgoing_links(id, linking, &nw)); incoming_links_exists_as_outgoing_links(id, linking, &nw)?;
try!(outgoing_links_exist_as_incoming_links(id, linking, &nw)); outgoing_links_exist_as_incoming_links(id, linking, &nw)?;
} }
Ok(()) Ok(())
}) })