[cvs-nhc98] patch applied (hat): Fix for Mark Tehver' s bug report.

Malcolm Wallace Malcolm.Wallace at cs.york.ac.uk
Tue Oct 10 07:06:41 EDT 2006


Fri Aug 17 07:04:15 PDT 2001  malcolm
  * Fix for Mark Tehver's bug report.
  
      module Test2(Test(..)) where
      data Test {a0::Int, b0::Int}
  
      module Test1(fn) where
      import Test2
      fn (Test {a0=a}) = a0 t + a
  
  gave "Unbound Identifier a0" error.  The error was only visible with
  the combination of three circumstances:
    * field name is imported
    * field name is used in a lhs pattern
    * field name is also used as a selector on the rhs of the *same* equation.
  
  The fault was that the need-analysis was binding the selector name
  as if it were a pattern variable for the equation (as with puns), rather
  than generating a need for the imported selector.

    M ./src/compiler98/Need.hs -1 +1


More information about the Cvs-nhc98 mailing list