Skip to content
  • Ryan Scott's avatar
    Rip out 9-year-old pattern variable hack (#17007) · 1b9d32b8
    Ryan Scott authored and Marge Bot's avatar Marge Bot committed
    GHC had an ad hoc validity check in place to rule out pattern
    variables bound by type synonyms, such as in the following example:
    
    ```hs
    type ItemColID a b = Int  -- Discards a,b
    
    get :: ItemColID a b -> ItemColID a b
    get (x :: ItemColID a b) = x :: ItemColID a b
    ```
    
    This hack is wholly unnecessary nowadays, since OutsideIn(X) is more
    than capable of instantiating `a` and `b` to `Any`. In light of this,
    let's rip out this validity check.
    
    Fixes #17007.
    1b9d32b8