Boost logo

Boost :

From: David Abrahams (dave_at_[hidden])
Date: 2003-12-05 17:23:58


"Edward Diener" <eddielee_at_[hidden]> writes:

> AlisdairM wrote:
>> "Edward Diener" <eddielee_at_[hidden]> wrote in
>> news:bqq6qt$iqg$1_at_[hidden]:
>>
>>> Looking at the regression results at
>>> http://www.boost.org/regression-logs/cs-win32.html I noticed that
>>> Fail is inserted as the result for some tests when only a warning is
>>> displayed. As an example the class_concept_fail_expected test for
>>> Borland shows just a warning when I click on the Fail link. Does
>>> anyone know why the result is incorrect, or is a particular test
>>> deemed a Fail if any warning occurs also.
>>
>> That result always gives me a double-take too <g>
>>
>> The test is a 'compile-fail', so the test fails only if the compiler
>> actually passes the code!
>
> Is that what a 'compile-fail' test really means ? I don't think that can be
> right.

It is right, in fact.

> I would always assume that Fail means something is wrong, either an
> error at compile time or a crash or incorrect result at run-time.

Something is wrong when a static assertion that's supposed to fire
doesn't do so. Something is wrong if I can compile

    boost::shared_ptr<int>(new char('a'));

There are lots of reasons to write a compile-fail test.

-- 
Dave Abrahams
Boost Consulting
www.boost-consulting.com

Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk