
"Peter Dimov" <pdimov@mmltd.net> writes:
David Abrahams wrote:
FWIW, one of the main reasons I brought this issue up was that I was hoping you'd convince me that the reasons to do it your way were important enough to outweigh the reasons to go the other way.
If you let people add a semicolon after the macro, how can you change the macro later in a way that doesn't tolerate a trailing semicolon? The expansion of the macro is an implementation detail; the interface shouldn't depend on a particular expansion.
Right?
I agree; that's the first argument I find truly compelling. All the other ones, including the arguments I started with, seem a bit weak by comparison. Thank you. I am still hesitating though, because the macros in question aren't really an abstraction: the library is designed to be usable without the macros (in case you don't like them or whatever), and the library documents exactly what they generate. -- Dave Abrahams Boost Consulting www.boost-consulting.com