#4174: Jumbled error message from type family operator
------------------------------------------------+---------------------------
  Reporter:  lilac                              |          Owner:               
   
      Type:  bug                                |         Status:  closed       
   
  Priority:  normal                             |      Milestone:  7.0.1        
   
 Component:  Compiler (Type checker)            |        Version:  6.12.1       
   
Resolution:  fixed                              |       Keywords:               
   
  Testcase:  indexed-types/should_fail/T4174    |      Blockedby:               
   
Difficulty:                                     |             Os:  
Unknown/Multiple
  Blocking:                                     |   Architecture:  
Unknown/Multiple
   Failure:  Incorrect warning at compile-time  |  
------------------------------------------------+---------------------------
Changes (by simonpj):

  * status:  new => closed
  * testcase:  => indexed-types/should_fail/T4174
  * resolution:  => fixed


Comment:

 This bug is fixed by the latest wave of typechecker fixes (I'm not sure
 exactly which one).  Now we get these errors:
 {{{
 T4174.hs:42:12:
     Couldn't match type `False' with `True'
     Expected type: True
       Actual type: GHC6'10 Minor1 :<=: GHCVersion (WayOf m)
     In the expression: sync_large_objects
     In an equation for `testcase': testcase = sync_large_objects

 T4174.hs:42:12:
     Could not deduce (a ~ SmStep) from the context (Monad m)
       `a' is a rigid type variable bound by
           the type signature for `testcase' at T4174.hs:41:60
     In the expression: sync_large_objects
     In an equation for `testcase': testcase = sync_large_objects

 T4174.hs:42:12:
     Could not deduce (b ~ RtsSpinLock) from the context (Monad m)
       `b' is a rigid type variable bound by
           the type signature for `testcase' at T4174.hs:41:62
     In the expression: sync_large_objects
     In an equation for `testcase': testcase = sync_large_objects

 T4174.hs:42:12:
     Could not deduce (p ~ True) from the context (Monad m)
       `p' is a rigid type variable bound by
           the type signature for `testcase' at T4174.hs:41:57
     Expected type: True
       Actual type: Threaded (WayOf m)
     In the expression: sync_large_objects
     In an equation for `testcase': testcase = sync_large_objects
 }}}
 The first of these is the one you were after, and looks quite reasonable.

 I've added a regression test.

 Thanks for reporting it!

 Simon

-- 
Ticket URL: <http://hackage.haskell.org/trac/ghc/ticket/4174#comment:4>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler
_______________________________________________
Glasgow-haskell-bugs mailing list
Glasgow-haskell-bugs@haskell.org
http://www.haskell.org/mailman/listinfo/glasgow-haskell-bugs

Reply via email to