#7010: Type error in one function causes wrong type error report in another
function when using type families
-----------------------------------------------+----------------------------
 Reporter:  Lemming                            |          Owner:                
  
     Type:  bug                                |         Status:  new           
  
 Priority:  normal                             |      Component:  Compiler      
  
  Version:  7.4.1                              |       Keywords:                
  
       Os:  Unknown/Multiple                   |   Architecture:  
Unknown/Multiple
  Failure:  Incorrect warning at compile-time  |       Testcase:                
  
Blockedby:                                     |       Blocking:                
  
  Related:                                     |  
-----------------------------------------------+----------------------------
 This ticket is very similar to #5978, but this time it is about type
 families. If I load the attached module I get the two error messages:
 {{{
 TypeCheck7_4_1_TF_IncorrectMsg.hs:27:21:
     Couldn't match type `Float' with `Serial Float'
     Expected type: (ValueTuple Vector, ValueTuple Vector)
       Actual type: (Serial Float, Serial Float)
     In the first argument of `processIO', namely `stereoFromMono'
     In the expression: processIO stereoFromMono

 TypeCheck7_4_1_TF_IncorrectMsg.hs:42:27:
     Couldn't match type `IO' with `Serial'
     Expected type: (Float, ValueTuple Vector)
       Actual type: (Float, ValueTuple Float)
     In the first argument of `withArgs', namely `plug'
     In the expression: withArgs plug
 }}}
 If I uncomment 'filterFormant', that is, only the second one of the two
 criticized parts, then the module is accepted.

 These two error messages are very confusing because in the original module
 'phoneme' was a complex definition and it was not immediately clear that
 it is actually correct. Trying hard to fix it does not succeed because it
 is not broken.

-- 
Ticket URL: <http://hackage.haskell.org/trac/ghc/ticket/7010>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler

_______________________________________________
Glasgow-haskell-bugs mailing list
[email protected]
http://www.haskell.org/mailman/listinfo/glasgow-haskell-bugs

Reply via email to