Skip to content

Evaluate backtraces for "error" exceptions at the moment they are thrown

Matthew Pickering requested to merge wip/t26751 into master
Evaluate backtraces for "error" exceptions at the moment they are thrown

See Note [Capturing the backtrace in throw] and
Note [Hiding precise exception signature in throw] which explain the
implementation.

This commit makes `error` and `throw` behave the same with regard to
backtraces. Previously, exceptiosn raised by `error` would not contain
useful IPE backtraces.

I did try and implement `error` in terms of `throw` but it started to
involve putting diverging functions into hs-boot files, which seemed to
risky if the compiler wouldn't be able to see if applying a function
would diverge.

Fixes #26751 (closed) and #25430

Edited by Matthew Pickering

Merge request reports

Loading