Boost logo

Boost :

Subject: Re: [boost] Unittest capability for meta-programs feedback request
From: Leif Linderstam (leif.ls_at_[hidden])
Date: 2011-10-16 11:34:57


Ben Robinson wrote 2011-10-15 06:55:
> Ábel Sinkovics and Boost Community,
>
> I have renamed my unit test library for static assertions to "MetaAssert",
> to avoid a name conflict with Ábel Sinkovics's MetaTest library. Our two
> libraries provide complementary and related, but non-overlapping
> functionality.
>
> The new github repository for MetaAssert is located here:
> https://github.com/icaretaker/MetaAssert. This submission would make it
> possible to write unit tests for static assertions embedded in
> meta-programs. Any unit test framework can be used to verify these static
> assertions will pass when they should, and fail when they should. These
> tests will all compile, and the non-passing static assertions will
> communicate the detected failure to any test framework at run-time, instead
> of failing to compile.
>
> Thank you,
>
> Ben Robinson, Ph.D.
>
This lib I will certainly use whenever I come around and start on my own
small meta
programming projects. One thing though; suppose I am developing lib B
that uses
another lib A which already uses your MetaAssert, then I think that I
would like to have
exceptions thrown only from my own library. That way, if I make a fault
in my lib that
triggers a meta-assert in lib A I will know about it immediately (at
compilation),
otherwise the exception might be mistaken as an expected exception from
my own lib.

Would it be reasonable to add a tag or similar to each meta-assert so
that the choice
between compile-time error and runtime exception can be made per library?

Cheers,
Leif Linderstam


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