about summary refs log tree commit diff
path: root/src
diff options
context:
space:
mode:
authorOliver Schneider <github35764891676564198441@oli-obk.de>2018-08-30 15:29:29 +0200
committerOliver Scherer <github35764891676564198441@oli-obk.de>2018-10-25 16:46:19 +0200
commitcce53b3631ba67495e5f1db6cc2fcbe93faac0fb (patch)
tree483b567205c12a4c6931678c2f8a2d8576056a0d /src
parent7fdf06cdde49c8cd87e34e85a95c1fe90ebdb0c3 (diff)
downloadrust-cce53b3631ba67495e5f1db6cc2fcbe93faac0fb.tar.gz
rust-cce53b3631ba67495e5f1db6cc2fcbe93faac0fb.zip
Forward `TooGeneric` errors
Diffstat (limited to 'src')
-rw-r--r--src/librustc_mir/interpret/eval_context.rs8
1 files changed, 6 insertions, 2 deletions
diff --git a/src/librustc_mir/interpret/eval_context.rs b/src/librustc_mir/interpret/eval_context.rs
index ce991c50330..78e8ca02533 100644
--- a/src/librustc_mir/interpret/eval_context.rs
+++ b/src/librustc_mir/interpret/eval_context.rs
@@ -24,6 +24,7 @@ use rustc::ty::{self, Ty, TyCtxt, TypeFoldable};
 use rustc::ty::query::TyCtxtAt;
 use rustc_data_structures::indexed_vec::IndexVec;
 use rustc::mir::interpret::{
+    ErrorHandled,
     GlobalId, Scalar, FrameInfo, AllocId,
     EvalResult, EvalErrorKind,
     truncate, sign_extend,
@@ -611,8 +612,11 @@ impl<'a, 'mir, 'tcx: 'mir, M: Machine<'a, 'mir, 'tcx>> EvalContext<'a, 'mir, 'tc
         } else {
             self.param_env
         };
-        self.tcx.const_eval(param_env.and(gid)).map_err(|_| {
-            EvalErrorKind::ReferencedConstant.into()
+        self.tcx.const_eval(param_env.and(gid)).map_err(|err| {
+            match err {
+                ErrorHandled::Reported => EvalErrorKind::ReferencedConstant.into(),
+                ErrorHandled::TooGeneric => EvalErrorKind::TooGeneric.into(),
+            }
         })
     }