Skip to content

pattern match bug

With some types built by persistent-template, I'm running into very odd behaviour. Attempting to pull apart a tuple in one go...

let (Entity museKey muse, Entity msgKey msg, Entity fldrKey fldr) = cluster

fails (or rather, attempting to use msg or fldr fails) with errors like

    Couldn't match expected type ‘Folder’ with actual type ‘Folder’

But splitting the pattern up:

  let (a, b, c) = cluster
      Entity museKey muse = a
      Entity msgKey msg = b
      Entity fldrKey fldr = c

everything works normally

Complete test case here: https://github.com/TobyGoodwin/odd-ghc-pattern-bug

Trac metadata
Trac field Value
Version 7.10.3
Type Bug
TypeOfFailure OtherFailure
Priority normal
Resolution Unresolved
Component Compiler
Test case https://github.com/TobyGoodwin/odd-ghc-pattern-bug
Differential revisions
BlockedBy
Related
Blocking
CC toby@paccrat.org
Operating system
Architecture
To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information