$include_dir="/home/hyper-archives/boost/include"; include("$include_dir/msg-header.inc") ?>
From: Peter Dimov (pdimov_at_[hidden])
Date: 2002-10-17 08:39:51
From: "Anthony Williams" <anthony.williamsNOSPAM_at_[hidden]>
> Peter Dimov writes:
> > This means that the requirements are broken, not that there is
something
> > wrong with the code. The requirement should be "usable in boolean
> > expressions and other contexts where a bool is required" and not
> > "convertible to bool". I'm sure that this is the original intent.
>
> How does this differ from "must be bool"?
It doesn't because I wasn't precise. By "other contexts..." I meant if(x),
while(x), x? ...: ..., !x, and so on, and obviously not
bool & r(x);
or
struct V { V(bool); };
void f(V);
f(x);
> If the real intent did not make it into the precise wording of the
standard,
> this is a bug in the standard (a DR) rather than an example of de-facto
> requirements that are more important than the specified requirements.
It's both. These aren't mutually exclusive.