Skip to content
  • niteria's avatar
    Use implicit CallStacks for ASSERT when available · 88d6d5aa
    niteria authored and Ben Gamari's avatar Ben Gamari committed
    This aids with debugging, since all you have to do to get more
    stack frames is add a constraint `(?callStack :: CallStack) =>`.
    
    Old output:
    ```
    ghc-stage2: panic! (the 'impossible' happened)
      (GHC version 8.1.20160107 for x86_64-unknown-linux):
            ASSERT failed!
      file compiler/types/TyCoRep.hs line 1800
      InScope []
      [Xuv :-> n_av5[sk]]
      []
    ```
    
    New output:
    ```
    ghc-stage2: panic! (the 'impossible' happened)
      (GHC version 8.1.20160107 for x86_64-unknown-linux):
            ASSERT failed!
      CallStack (from ImplicitParams):
      assertPprPanic, called at compiler/types/TyCoRep.hs:1800:95 in
    ghc:TyCoRep
      InScope []
      [Xuv :-> n_av5[sk]]
      []
    ```
    
    Test Plan:
    harbormaster
    manual testing
    
    Reviewers: austin, gridaphobe, bgamari
    
    Reviewed By: gridaphobe, bgamari
    
    Subscribers: thomie
    
    Differential Revision: https://phabricator.haskell.org/D1751
    88d6d5aa