ソースを参照

Utilize `if...let` sugar

Corey Farwell 11 年 前
コミット
48f61c9b30
3 ファイル変更11 行追加21 行削除
  1. 2 3
      src/form_urlencoded.rs
  2. 6 12
      src/format.rs
  3. 3 6
      src/lib.rs

+ 2 - 3
src/form_urlencoded.rs

@@ -67,9 +67,8 @@ fn parse_internal(input: &[u8], mut encoding_override: EncodingOverride, mut use
             let name = replace_plus(name);
             let value = replace_plus(value);
             if use_charset && name.as_slice() == b"_charset_" {
-                match EncodingOverride::lookup(value.as_slice()) {
-                    Some(encoding) => encoding_override = encoding,
-                    None => (),
+                if let Some(encoding) = EncodingOverride::lookup(value.as_slice()) {
+                    encoding_override = encoding;
                 }
                 use_charset = false;
             }

+ 6 - 12
src/format.rs

@@ -51,12 +51,9 @@ impl<'a> fmt::String for UserInfoFormatter<'a> {
     fn fmt(&self, formatter: &mut Formatter) -> fmt::Result {
         if !self.username.is_empty() || self.password.is_some() {
             try!(formatter.write_str(self.username));
-            match self.password {
-                None => (),
-                Some(password) => {
-                    try!(formatter.write_str(":"));
-                    try!(formatter.write_str(password));
-                }
+            if let Some(password) = self.password {
+                try!(formatter.write_str(":"));
+                try!(formatter.write_str(password));
             }
             try!(formatter.write_str("@"));
         }
@@ -75,12 +72,9 @@ impl<'a> fmt::String for UrlNoFragmentFormatter<'a> {
         try!(formatter.write_str(self.url.scheme.as_slice()));
         try!(formatter.write_str(":"));
         try!(self.url.scheme_data.fmt(formatter));
-        match self.url.query {
-            None => (),
-            Some(ref query) => {
-                try!(formatter.write_str("?"));
-                try!(formatter.write_str(query.as_slice()));
-            }
+        if let Some(ref query) = self.url.query {
+            try!(formatter.write_str("?"));
+            try!(formatter.write_str(query.as_slice()));
         }
         Ok(())
     }

+ 3 - 6
src/lib.rs

@@ -771,12 +771,9 @@ impl rustc_serialize::Decodable for Url {
 impl fmt::String for Url {
     fn fmt(&self, formatter: &mut Formatter) -> fmt::Result {
         try!(UrlNoFragmentFormatter{ url: self }.fmt(formatter));
-        match self.fragment {
-            None => (),
-            Some(ref fragment) => {
-                try!(formatter.write_str("#"));
-                try!(formatter.write_str(fragment.as_slice()));
-            }
+        if let Some(ref fragment) = self.fragment {
+            try!(formatter.write_str("#"));
+            try!(formatter.write_str(fragment.as_slice()));
         }
         Ok(())
     }