about summary refs log tree commit diff
path: root/src/librustc_codegen_ssa
diff options
context:
space:
mode:
authorMazdak Farrokhzad <twingoow@gmail.com>2019-03-09 17:18:11 +0100
committerGitHub <noreply@github.com>2019-03-09 17:18:11 +0100
commit19f969a465e15abc2f5f271b234405c6a85c471f (patch)
tree29c173eb462eaac7fb4d8f759be82fc2a8b4a1b5 /src/librustc_codegen_ssa
parente1b8898cfb0392f534cc25808a7f6caad36ebbb7 (diff)
parent5c0615b89c399ce6a431ba660f9457c24bc69964 (diff)
downloadrust-19f969a465e15abc2f5f271b234405c6a85c471f.tar.gz
rust-19f969a465e15abc2f5f271b234405c6a85c471f.zip
Rollup merge of #58518 - oli-obk:unreachable_result_errors, r=RalfJung
Use early unwraps instead of bubbling up errors just to unwrap in the end

r? @RalfJung
Diffstat (limited to 'src/librustc_codegen_ssa')
-rw-r--r--src/librustc_codegen_ssa/mir/constant.rs14
1 files changed, 7 insertions, 7 deletions
diff --git a/src/librustc_codegen_ssa/mir/constant.rs b/src/librustc_codegen_ssa/mir/constant.rs
index 6bc69efa4a7..349c9132842 100644
--- a/src/librustc_codegen_ssa/mir/constant.rs
+++ b/src/librustc_codegen_ssa/mir/constant.rs
@@ -49,36 +49,36 @@ impl<'a, 'tcx: 'a, Bx: BuilderMethods<'a, 'tcx>> FunctionCx<'a, 'tcx, Bx> {
         constant: Result<ty::Const<'tcx>, ErrorHandled>,
     ) -> (Bx::Value, Ty<'tcx>) {
         constant
-            .and_then(|c| {
+            .map(|c| {
                 let field_ty = c.ty.builtin_index().unwrap();
                 let fields = match c.ty.sty {
                     ty::Array(_, n) => n.unwrap_usize(bx.tcx()),
                     ref other => bug!("invalid simd shuffle type: {}", other),
                 };
-                let values: Result<Vec<_>, ErrorHandled> = (0..fields).map(|field| {
+                let values: Vec<_> = (0..fields).map(|field| {
                     let field = const_field(
                         bx.tcx(),
                         ty::ParamEnv::reveal_all(),
                         None,
                         mir::Field::new(field as usize),
                         c,
-                    )?;
+                    );
                     if let Some(prim) = field.val.try_to_scalar() {
                         let layout = bx.layout_of(field_ty);
                         let scalar = match layout.abi {
                             layout::Abi::Scalar(ref x) => x,
                             _ => bug!("from_const: invalid ByVal layout: {:#?}", layout)
                         };
-                        Ok(bx.scalar_to_backend(
+                        bx.scalar_to_backend(
                             prim, scalar,
                             bx.immediate_backend_type(layout),
-                        ))
+                        )
                     } else {
                         bug!("simd shuffle field {:?}", field)
                     }
                 }).collect();
-                let llval = bx.const_struct(&values?, false);
-                Ok((llval, c.ty))
+                let llval = bx.const_struct(&values, false);
+                (llval, c.ty)
             })
             .unwrap_or_else(|_| {
                 bx.tcx().sess.span_err(