Replace '?callStack' implicit param constraint with HasCallStack in GHC.Internal.Exception.throw
In Base 4.20.0 the ability to pass callstacks with exceptions was introduced. However, in the new constraint on Control.Exception.throw
that was therefore added, the internal ?callStack :: CallStack
implicit parameter syntax, rather than the 'public-by-convention' HasCallStack
type alias was used:
Link to base 4.20.0's Control.Exception.throw Haddock documentation
This MR fixes this, by using the HasCallStack
name instead. Besides hiding the implementation detail of HasCallStack
(currently) being implemented using an implicit parameter, this ensures that the similarity between normal throw
and throwIO
is clear to a documentation reader.
As this change only replaces a constraint with a type alias of that same constraint, it should change how this shows up in the Haddock documentation, but not change any behaviour of GHC or base in any way.