
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