• Ben Gamari's avatar
    Use (&&) instead of `if` in Ix derivation · 5cce0954
    Ben Gamari authored
    We were previously using `if` in the derivation of `Ix` instances. This
    interacts badly with RebindableSyntax as the typechecker doesn't infer
    the type of the argument we give to `tagToEnum#`.
    
    Previously we produced, `if (ch >= ah) then (ch <= bh) else False`.
    
    We now produce `(ch >= ah) && (ch <= bh)`
    
    Fixes #11396.
    
    Test Plan: Validate
    
    Reviewers: austin, simonpj
    
    Reviewed By: simonpj
    
    Subscribers: thomie
    
    Differential Revision: https://phabricator.haskell.org/D1797
    
    GHC Trac Issues: #11396
    5cce0954
TcGenDeriv.hs 101 KB