about summary refs log tree commit diff
path: root/src
diff options
context:
space:
mode:
authorNiko Matsakis <niko@alum.mit.edu>2018-09-13 13:40:15 -0400
committerNiko Matsakis <niko@alum.mit.edu>2018-09-13 13:40:15 -0400
commit7b2aeca10a91e2c2cb3f2efcc383e8addabebe58 (patch)
tree7e8a2e9d83a311e9458fbf85ed033f46a4db1903 /src
parent632f9c4d6e1a054c426c7a97399845040fa01b64 (diff)
downloadrust-7b2aeca10a91e2c2cb3f2efcc383e8addabebe58.tar.gz
rust-7b2aeca10a91e2c2cb3f2efcc383e8addabebe58.zip
give a more informative failure in this case
Diffstat (limited to 'src')
-rw-r--r--src/librustc/traits/query/evaluate_obligation.rs9
1 files changed, 8 insertions, 1 deletions
diff --git a/src/librustc/traits/query/evaluate_obligation.rs b/src/librustc/traits/query/evaluate_obligation.rs
index 6bd92678362..1a906b5da6f 100644
--- a/src/librustc/traits/query/evaluate_obligation.rs
+++ b/src/librustc/traits/query/evaluate_obligation.rs
@@ -51,7 +51,14 @@ impl<'cx, 'gcx, 'tcx> InferCtxt<'cx, 'gcx, 'tcx> {
                 let mut selcx =
                     SelectionContext::with_query_mode(&self, TraitQueryMode::Standard);
                 selcx.evaluate_obligation_recursively(obligation)
-                     .expect("Overflow should be caught earlier in standard query mode")
+                    .unwrap_or_else(|r| {
+                        span_bug!(
+                            obligation.cause.span,
+                            "Overflow should be caught earlier in standard query mode: {:?}, {:?}",
+                            obligation,
+                            r,
+                        )
+                    })
             }
         }
     }