diff options
author | Thomas Hurst <tom@hur.st> | 2018-09-04 22:29:04 +0100 |
---|---|---|
committer | Kartikaya Gupta (kats) <staktrace@users.noreply.github.com> | 2018-09-05 04:05:28 -0400 |
commit | 9ee581f8d9d0dd174c54d9c63093c8ed8e68f999 (patch) | |
tree | 45be609726f4b97efb9182ca55bdb12c3664c7b3 /src/lib.rs | |
parent | d31ccf10c38bc1e2c97c71102ab6ae1a2161b54b (diff) |
Use unwrap_or_else() and unwrap_or_default()
This is particularly good for fallbacks which allocate, like
String::new() and "bla".to_string(). len() is mostly to shut up clippy.
clippy:or_fun_call
Diffstat (limited to 'src/lib.rs')
-rw-r--r-- | src/lib.rs | 13 |
1 files changed, 8 insertions, 5 deletions
@@ -549,9 +549,11 @@ impl Default for ParsedContentType { pub fn parse_content_type(header: &str) -> ParsedContentType { let params = parse_param_content(header); let mimetype = params.value.to_lowercase(); - let charset = params.params.get("charset").cloned().unwrap_or( - "us-ascii".to_string(), - ); + let charset = params + .params + .get("charset") + .cloned() + .unwrap_or_else(|| "us-ascii".to_string()); ParsedContentType { mimetype, @@ -694,7 +696,7 @@ impl<'a> ParsedMail<'a> { pub fn get_body_raw(&self) -> Result<Vec<u8>, MailParseError> { let transfer_coding = try!(self.headers.get_first_value("Content-Transfer-Encoding")) .map(|s| s.to_lowercase()); - let decoded = match transfer_coding.unwrap_or(String::new()).as_ref() { + let decoded = match transfer_coding.unwrap_or_default().as_ref() { "base64" => { let cleaned = self.body .iter() @@ -791,7 +793,8 @@ pub fn parse_mail(raw_data: &[u8]) -> Result<ParsedMail, MailParseError> { find_from_u8(raw_data, ix_boundary_end, b"\n").map(|v| v + 1) { // if there is no terminating boundary, assume the part end is the end of the email - let ix_part_end = find_from_u8(raw_data, ix_part_start, boundary.as_bytes()).unwrap_or(raw_data.len()); + let ix_part_end = find_from_u8(raw_data, ix_part_start, boundary.as_bytes()) + .unwrap_or_else(|| raw_data.len()); result.subparts.push(try!(parse_mail( &raw_data[ix_part_start..ix_part_end], |