
Except that in this case (the expression of a library feature), you're severly underestimating a sound principle by letting it be outweighed by the
As I mentioned before, I don't think either way is perfect, and I don't even know which one I like more. However, I would like to make a couple of points, FWIW: "Paul Mensonides" <pmenso57@comcast.net> wrote possibility
of extra semicolons (which is quite possibly the easiest bug to fix of all time)
I also think that extra semicolons is not a major problem, even if only because most users (about 99%, I think) don't really care about portability.
and by automatic formatting of some editors that many people use (but many people don't).
I don't think it is correct to say that many C++ programmers don't use Visual C++, for example. It was already mentioned on this list at some point that most people do, maybe as a secondary compiler. And, In Visual Studio it is quite annoying to deal with constructs that do not adhere to the C++ syntax.
The problem that I have is not so much with catering to editors (though I am against that in principle), but with catering to an incorrect viewpoint.
And this viewpoint is that a macro invocation is a function call? I am not sure about Dave's case, but I am more concerned about the case when a macro expands into a number of template specializations. So, when I am saying: REGISTER_TYPE(x) it is actually: GENERATE_RELEVANT_TEMPLATE_SPECIALIZATIONS_FOR_TYPE(x) Do you think requiring a semicolon would be incorrect here? Regards, Arkadiy