about summary refs log tree commit diff
diff options
context:
space:
mode:
authorEduard-Mihai Burtescu <edy.burt@gmail.com>2020-04-06 00:12:58 +0300
committerEduard-Mihai Burtescu <edy.burt@gmail.com>2020-05-02 18:58:39 +0300
commit50c63e48f17323c55844110fbcb3e09ea3d25227 (patch)
tree0cd1395df9155a45561a98cb4b11cda58fb70339
parent7184d137f65bb8d143ce8b5b664e50d33c4b5fbd (diff)
downloadrust-50c63e48f17323c55844110fbcb3e09ea3d25227.tar.gz
rust-50c63e48f17323c55844110fbcb3e09ea3d25227.zip
ty: use `delay_span_bug` in `ty::AdtDef::eval_explicit_discr`.
-rw-r--r--src/librustc_middle/ty/mod.rs23
1 files changed, 8 insertions, 15 deletions
diff --git a/src/librustc_middle/ty/mod.rs b/src/librustc_middle/ty/mod.rs
index bef74289fd8..a8a885c587e 100644
--- a/src/librustc_middle/ty/mod.rs
+++ b/src/librustc_middle/ty/mod.rs
@@ -2388,21 +2388,14 @@ impl<'tcx> AdtDef {
                     None
                 }
             }
-            Err(ErrorHandled::Reported(ErrorReported) | ErrorHandled::Linted) => {
-                if !expr_did.is_local() {
-                    span_bug!(
-                        tcx.def_span(expr_did),
-                        "variant discriminant evaluation succeeded \
-                         in its crate but failed locally"
-                    );
-                }
-                None
-            }
-            Err(ErrorHandled::TooGeneric) => {
-                tcx.sess.delay_span_bug(
-                    tcx.def_span(expr_did),
-                    "enum discriminant depends on generic arguments",
-                );
+            Err(err) => {
+                let msg = match err {
+                    ErrorHandled::Reported(ErrorReported) | ErrorHandled::Linted => {
+                        "enum discriminant evaluation failed"
+                    }
+                    ErrorHandled::TooGeneric => "enum discriminant depends on generics",
+                };
+                tcx.sess.delay_span_bug(tcx.def_span(expr_did), msg);
                 None
             }
         }