From eb0473df93b49d6a2ff50f82e435dbd2e19467c7 Mon Sep 17 00:00:00 2001 From: Steven Fackler Date: Fri, 11 Apr 2014 20:59:18 -0700 Subject: Make Result::{unwrap, unwrap_err} require Show `foo.ok().unwrap()` and `foo.err().unwrap()` are the fallbacks for types that aren't `Show`. Closes #13379 --- src/libterm/lib.rs | 25 +++++++++++++------------ 1 file changed, 13 insertions(+), 12 deletions(-) (limited to 'src/libterm') diff --git a/src/libterm/lib.rs b/src/libterm/lib.rs index a94a13aa017..84ba122631e 100644 --- a/src/libterm/lib.rs +++ b/src/libterm/lib.rs @@ -132,21 +132,22 @@ impl Terminal { None => return Err(~"TERM environment variable undefined") }; - let entry = open(term); - if entry.is_err() { - if "cygwin" == term { // msys terminal - return Ok(Terminal {out: out, ti: msys_terminfo(), num_colors: 8}); + let mut file = match open(term) { + Ok(file) => file, + Err(err) => { + if "cygwin" == term { // msys terminal + return Ok(Terminal { + out: out, + ti: msys_terminfo(), + num_colors: 8 + }); + } + return Err(err); } - return Err(entry.unwrap_err()); - } + }; - let mut file = entry.unwrap(); - let ti = parse(&mut file, false); - if ti.is_err() { - return Err(ti.unwrap_err()); - } + let inf = try!(parse(&mut file, false)); - let inf = ti.unwrap(); let nc = if inf.strings.find_equiv(&("setaf")).is_some() && inf.strings.find_equiv(&("setab")).is_some() { inf.numbers.find_equiv(&("colors")).map_or(0, |&n| n) -- cgit 1.4.1-3-g733a5