diff options
| author | Zack M. Davis <code@zackmdavis.net> | 2016-07-03 14:38:37 -0700 |
|---|---|---|
| committer | Zack M. Davis <code@zackmdavis.net> | 2016-07-03 16:27:02 -0700 |
| commit | d37edef9dd088d953c5e272db37686a338c31778 (patch) | |
| tree | 294c125abc99a5d3e7d788c2cc0b056ecd35a26e /src/libsyntax_ext | |
| parent | 5e858f34df6ac9ae9d2fbc40c84db9d4bcd29eff (diff) | |
| download | rust-d37edef9dd088d953c5e272db37686a338c31778.tar.gz rust-d37edef9dd088d953c5e272db37686a338c31778.zip | |
prefer `if let` to match with `None => {}` arm in some places
This is a spiritual succesor to #34268/8531d581, in which we replaced a number of matches of None to the unit value with `if let` conditionals where it was judged that this made for clearer/simpler code (as would be recommended by Manishearth/rust-clippy's `single_match` lint). The same rationale applies to matches of None to the empty block.
Diffstat (limited to 'src/libsyntax_ext')
| -rw-r--r-- | src/libsyntax_ext/deriving/generic/mod.rs | 9 | ||||
| -rw-r--r-- | src/libsyntax_ext/env.rs | 9 | ||||
| -rw-r--r-- | src/libsyntax_ext/format.rs | 28 |
3 files changed, 17 insertions, 29 deletions
diff --git a/src/libsyntax_ext/deriving/generic/mod.rs b/src/libsyntax_ext/deriving/generic/mod.rs index e01f4ed1f9b..f33898109cc 100644 --- a/src/libsyntax_ext/deriving/generic/mod.rs +++ b/src/libsyntax_ext/deriving/generic/mod.rs @@ -360,13 +360,10 @@ fn find_type_parameters(ty: &ast::Ty, ty_param_names: &[ast::Name], span: Span, fn visit_ty(&mut self, ty: &ast::Ty) { match ty.node { ast::TyKind::Path(_, ref path) if !path.global => { - match path.segments.first() { - Some(segment) => { - if self.ty_param_names.contains(&segment.identifier.name) { - self.types.push(P(ty.clone())); - } + if let Some(segment) = path.segments.first() { + if self.ty_param_names.contains(&segment.identifier.name) { + self.types.push(P(ty.clone())); } - None => {} } } _ => {} diff --git a/src/libsyntax_ext/env.rs b/src/libsyntax_ext/env.rs index 546f8eaa692..c6c4b6135c6 100644 --- a/src/libsyntax_ext/env.rs +++ b/src/libsyntax_ext/env.rs @@ -88,12 +88,9 @@ pub fn expand_env<'cx>(cx: &'cx mut ExtCtxt, sp: Span, tts: &[tokenstream::Token } }; - match exprs.next() { - None => {} - Some(_) => { - cx.span_err(sp, "env! takes 1 or 2 arguments"); - return DummyResult::expr(sp); - } + if let Some(_) = exprs.next() { + cx.span_err(sp, "env! takes 1 or 2 arguments"); + return DummyResult::expr(sp); } let e = match env::var(&var[..]) { diff --git a/src/libsyntax_ext/format.rs b/src/libsyntax_ext/format.rs index f311f16f11b..dc572e652c6 100644 --- a/src/libsyntax_ext/format.rs +++ b/src/libsyntax_ext/format.rs @@ -126,16 +126,13 @@ fn parse_args(ecx: &mut ExtCtxt, sp: Span, tts: &[tokenstream::TokenTree]) panictry!(p.expect(&token::Eq)); let e = panictry!(p.parse_expr()); - match names.get(name) { - None => {} - Some(prev) => { - ecx.struct_span_err(e.span, - &format!("duplicate argument named `{}`", - name)) - .span_note(prev.span, "previously here") - .emit(); - continue - } + if let Some(prev) = names.get(name) { + ecx.struct_span_err(e.span, + &format!("duplicate argument named `{}`", + name)) + .span_note(prev.span, "previously here") + .emit(); + continue; } order.push(name.to_string()); names.insert(name.to_string(), e); @@ -665,13 +662,10 @@ pub fn expand_preparsed_format_args(ecx: &mut ExtCtxt, sp: Span, Some(piece) => { if !parser.errors.is_empty() { break } cx.verify_piece(&piece); - match cx.trans_piece(&piece) { - Some(piece) => { - let s = cx.trans_literal_string(); - cx.str_pieces.push(s); - cx.pieces.push(piece); - } - None => {} + if let Some(piece) = cx.trans_piece(&piece) { + let s = cx.trans_literal_string(); + cx.str_pieces.push(s); + cx.pieces.push(piece); } } None => break |
