12 Jan
2018
12 Jan
'18
6:40 p.m.
On 01/12/18 21:32, Peter Dimov via Boost wrote:
Andrey Semashev wrote:
In my code I'm using contextual conversion to bool extensively, e.g. "if (err)" or "if (!err)". This is currently equivalent to comparing against 0, so I assume it will be broken by this change.
It will only be broken if you rely on `error_code( 0, some-category )` to contextually-convert to `false`.
I'm not sure how I can *not* rely on that since I construct `error_code` from enums or ints, all of them having 0 as the "success" value precisely to allow the contextual conversion produce the intended result.
A principled approach would be to ask the category whether a code is `true` or `false`, but that might be complexity and overhead nobody needs.
True.