diff options
| author | Ahmed Charles <acharles@outlook.com> | 2016-08-27 07:51:55 -0700 |
|---|---|---|
| committer | Ahmed Charles <acharles@outlook.com> | 2016-09-11 16:02:44 -0700 |
| commit | 509aa235ba4a2d453cf545f2553b8173dcd5f25b (patch) | |
| tree | f81abbdf8cf8efcdf7aae420c719e82c86b6b7f8 /src | |
| parent | 0dbf77e722e6f30568664808808716d8d3650dc5 (diff) | |
| download | rust-509aa235ba4a2d453cf545f2553b8173dcd5f25b.tar.gz rust-509aa235ba4a2d453cf545f2553b8173dcd5f25b.zip | |
Use question_mark feature in librustc_const_eval.
Diffstat (limited to 'src')
| -rw-r--r-- | src/librustc_const_eval/eval.rs | 41 |
1 files changed, 19 insertions, 22 deletions
diff --git a/src/librustc_const_eval/eval.rs b/src/librustc_const_eval/eval.rs index 4f4c16d3f6a..4ced9d87f0a 100644 --- a/src/librustc_const_eval/eval.rs +++ b/src/librustc_const_eval/eval.rs @@ -278,9 +278,9 @@ pub fn const_expr_to_pat<'a, 'tcx>(tcx: TyCtxt<'a, 'tcx, 'tcx>, } let pat = match expr.node { hir::ExprTup(ref exprs) => - PatKind::Tuple(try!(exprs.iter() - .map(|expr| const_expr_to_pat(tcx, &expr, pat_id, span)) - .collect()), None), + PatKind::Tuple(exprs.iter() + .map(|expr| const_expr_to_pat(tcx, &expr, pat_id, span)) + .collect::<Result<_, _>>()?, None), hir::ExprCall(ref callee, ref args) => { let def = tcx.expect_def(callee.id); @@ -297,34 +297,31 @@ pub fn const_expr_to_pat<'a, 'tcx>(tcx: TyCtxt<'a, 'tcx, 'tcx>, })), _ => bug!() }; - let pats = try!(args.iter() - .map(|expr| const_expr_to_pat(tcx, &**expr, - pat_id, span)) - .collect()); + let pats = args.iter() + .map(|expr| const_expr_to_pat(tcx, &**expr, pat_id, span)) + .collect::<Result<_, _>>()?; PatKind::TupleStruct(path, pats, None) } hir::ExprStruct(ref path, ref fields, None) => { let field_pats = - try!(fields.iter() - .map(|field| Ok(codemap::Spanned { - span: syntax_pos::DUMMY_SP, - node: hir::FieldPat { - name: field.name.node, - pat: try!(const_expr_to_pat(tcx, &field.expr, - pat_id, span)), - is_shorthand: false, - }, - })) - .collect()); + fields.iter() + .map(|field| Ok(codemap::Spanned { + span: syntax_pos::DUMMY_SP, + node: hir::FieldPat { + name: field.name.node, + pat: const_expr_to_pat(tcx, &field.expr, pat_id, span)?, + is_shorthand: false, + }, + })) + .collect::<Result<_, _>>()?; PatKind::Struct(path.clone(), field_pats, false) } hir::ExprVec(ref exprs) => { - let pats = try!(exprs.iter() - .map(|expr| const_expr_to_pat(tcx, &expr, - pat_id, span)) - .collect()); + let pats = exprs.iter() + .map(|expr| const_expr_to_pat(tcx, &expr, pat_id, span)) + .collect::<Result<_, _>>()?; PatKind::Vec(pats, None, hir::HirVec::new()) } |
