summaryrefslogtreecommitdiff
path: root/compiler
diff options
context:
space:
mode:
Diffstat (limited to 'compiler')
-rw-r--r--compiler/typecheck/TcSimplify.lhs4
1 files changed, 3 insertions, 1 deletions
diff --git a/compiler/typecheck/TcSimplify.lhs b/compiler/typecheck/TcSimplify.lhs
index c0ff59d793..09a5b11c22 100644
--- a/compiler/typecheck/TcSimplify.lhs
+++ b/compiler/typecheck/TcSimplify.lhs
@@ -79,7 +79,9 @@ simplifyTop wanteds
; simpl_top_loop wc_first_go }
simpl_top_loop wc
- | isEmptyWC wc
+ | isEmptyWC wc || insolubleWC wc
+ -- Don't do type-class defaulting if there are insolubles
+ -- Doing so is not going to solve the insolubles
= return wc
| otherwise
= do { wc_residual <- nestTcS (solve_wanteds_and_drop wc)