Usage of non-unique record label yields internal error
Consider the following program.
data A = A { a_ :: Bool }
data B = B { a_ :: Bool }
Loading this program into PAKCS or KiCS2 yields the following (helpful) error message.
Test.curry, line 2.14: Error:
More than one definition for `a_'
If we, however, add the following definition to the Haskell code above and load the file in PAKCS or KiCS2, we get an internal error.
crash :: A -> Bool
crash x = a_ x
Error message for KiCS2
kics2-frontend: Internal error: qualBindTopEnv QualIdent {qidModule = Nothing, qidIdent = Ident {idPosition = Position {file = "Test.curry", line = 2, column = 14}, idName = "a_", idUnique = 0}}
Error message for PAKCS
pakcs-frontend: Internal error: qualBindTopEnv QualIdent {qidSpanInfo = SpanInfo {srcSpan = Span {file = "Test.curry", start = Position {file = "Test.curry", line = 2, column = 14}, end = Position {file = "Test.curry", line = 2, column = 15}}, srcInfoPoints = [Span {file = "Test.curry", start = Position {file = "Test.curry", line = 2, column = 14}, end = Position {file = "Test.curry", line = 2, column = 15}}]}, qidModule = Nothing, qidIdent = Ident {idSpanInfo = SpanInfo {srcSpan = Span {file = "Test.curry", start = Position {file = "Test.curry", line = 2, column = 14}, end = Position {file = "Test.curry", line = 2, column = 15}}, srcInfoPoints = [Span {file = "Test.curry", start = Position {file = "Test.curry", line = 2, column = 14}, end = Position {file = "Test.curry", line = 2, column = 15}}]}, idName = "a_", idUnique = 0}}
CallStack (from HasCallStack):
error, called at src/Base/Messages.hs:78:21 in main:Base.Messages