diff options
| author | Niko Matsakis <niko@alum.mit.edu> | 2018-09-13 13:40:15 -0400 |
|---|---|---|
| committer | Niko Matsakis <niko@alum.mit.edu> | 2018-09-13 13:40:15 -0400 |
| commit | 7b2aeca10a91e2c2cb3f2efcc383e8addabebe58 (patch) | |
| tree | 7e8a2e9d83a311e9458fbf85ed033f46a4db1903 /src | |
| parent | 632f9c4d6e1a054c426c7a97399845040fa01b64 (diff) | |
| download | rust-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.rs | 9 |
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, + ) + }) } } } |
