id summary reporter owner description type status milestone component version severity resolution keywords cc 5810 BOOST_STATIC_ASSERT requires unnecessary parentheses tsoae@… John Maddock "In Boost 1.47.0 the BOOST_STATIC_ASSERT macro is defined as having one parameter. When the argument contains comma-separated template arguments, we (sometimes) have to use additional parentheses: BOOST_STATIC_ASSERT(is_base_of::value); /* error: two arguments passed */ BOOST_STATIC_ASSERT((is_base_of::value)); /* OK */ Today many C++ compilers support variadic macros, so for such compilers BOOST_STATIC_ASSERT might be defined like this: #ifndef BOOST_NO_STATIC_ASSERT # define BOOST_STATIC_ASSERT(...) \ static_assert((__VA_ARGS__), #__VA_ARGS__) #else .... and BOOST_STATIC_ASSERT(is_base_of::value) might be correct. Are there any problems with such definition?" Bugs closed To Be Determined static_assert Boost 1.47.0 Cosmetic fixed