What if the user uses CONTRACT_FREE_BODYwhen it should use
CONTRACT_MEMBER_BODY? It will not have the associated class invariants.
No, but when you partially disable contracts you might get
compiler-errors like "function ...XbodyXpush_back is not defined...".
This is not enough. The user would need to test her application using
several combinations, which is not admissible.
Well, the user needs to use the correct macros as the docs say :)
Ideally, I'd catch all syntax errors but I know I can't :(
I agree the library can not catch all syntax/semantic errors, but IMO the
library can avoid this one, even if the consequences are not so important.