Details
-
Bug
-
Status: Resolved
-
Major
-
Resolution: Fixed
-
None
-
None
-
None
-
ghx-label-9
Description
The THROW_IF_ERROR macros all use a locally scoped variable "status". If they're called with a pattern like:
Status status = foo(); THROW_IF_ERROR(status, ...)
then the status variable inside the macro ends up being assigned to itself instead of the outer-scope variable. This makes it not throw or return, which is quite surprising.