]> git.lizzy.rs Git - rust.git/commitdiff
Return correct values
authorYuki OKUSHI <huyuumi.dev@gmail.com>
Sun, 24 Mar 2019 18:19:48 +0000 (03:19 +0900)
committerYuki OKUSHI <huyuumi.dev@gmail.com>
Thu, 28 Mar 2019 19:32:36 +0000 (04:32 +0900)
src/librustc_mir/const_eval.rs

index 964f7215088329dd59766d267fcd10026815be03..1542cdf1e3e776a722751b73c8ffa5a5e7a8156f 100644 (file)
@@ -645,15 +645,17 @@ pub fn const_eval_raw_provider<'a, 'tcx>(
             // an error must be reported.
             let reported_err = tcx.sess.track_errors(|| {
                 err.report_as_error(ecx.tcx,
-                                    "could not evaluate static initializer");
+                                    "could not evaluate static initializer")
             });
             match reported_err {
-                Ok(v) => tcx.sess.delay_span_bug(err.span,
+                Ok(v) => {
+                    tcx.sess.delay_span_bug(err.span,
                                         &format!("static eval failure did not emit an error: {:#?}",
-                                        v)),
-                Err(err) => err,
+                                        v));
+                    v
+                },
+                Err(ErrorReported) => ErrorHandled::Reported,
             }
-            reported_err
         } else if def_id.is_local() {
             // constant defined in this crate, we can figure out a lint level!
             match tcx.describe_def(def_id) {