Skip to content

Instantiation variables leak to the constraint solver.

The test where this happens: .typechecker/test/cases/should-typecheck/break-infer.hs

Error:

[PprPanic]                                                                                            
                                                                                                      
Instantiation variable in the constraint solver:                                                      
mu48:Type                                                                                             
CallStack (from HasCallStack):                                                                        
  pprPanic, called at src/Tc/Solver/Equality.hs:78:5 in typechecker-0.1.0.0-inplace:Tc.Solver.Equality

Wanted constraints:

[W] Type ~ Type                                                                               
[W] Type ~ Type                                                                               
[W] List mv-t37[0]:Type ~ List mv-t37[0]:Type                                                 
[W] List mv-t37[0]:Type ~ List mv-t37[0]:Type                                                 
[W] mv-t36[0]:Type ~ mv-t40[0]:Type                                                           
[W] List mv-t37[0]:Type ~ List mv-t41[0]:Type                                                 
[W] mv-t40[0]:Type ~ (mv-t42[0]:Type -> mv-t43[0]:Type)                                       
[W] mv-t42[0]:Type ~ mv-t41[0]:Type                                                           
[W] mv-t43[0]:Type ~ Bool                                                                     
[W] Type ~ Type                                                                               
[W] Tuple2 List mv-t37[0]:Type List mv-t37[0]:Type ~ Tuple2 mv-t47[0]:Type List mv-t41[0]:Type
[W] mv-t47[0]:Type ~ List mu48:Type                                                           
[W] List mv-t41[0]:Type ~ List mv-t41[0]:Type                                                 
[W] Type ~ Type                                                                               
[W] Type ~ Type                                                                               
[W] Tuple2 mv-t47[0]:Type List mv-t41[0]:Type ~ Tuple2 List mv-t41[0]:Type mv-t83[0]:Type     
[W] Type ~ Type                                                                               
[W] List mv-t41[0]:Type ~ List mv-t41[0]:Type                                                 
[W] mv-t41[0]:Type ~ mv-t41[0]:Type                                                           
[W] Type ~ Type                                                                               
[W] List mv-t41[0]:Type ~ List mv-t41[0]:Type                                                 
[W] Type ~ Type                                                                               
[W] mv-t83[0]:Type ~ mv-t83[0]:Type