id,summary,reporter,owner,description,type,status,milestone,component,version,severity,resolution,keywords,cc 1734,BOOST_STATIC_WARNING can't be passed a dependent expression,Dave Abrahams,Robert Ramey,"This breaks Boost.Serialization on conforming compilers like Intel/Linux. {{{ #!cpp #include ""boost/static_warning.hpp"" template int f() { BOOST_STATIC_WARNING(T::value); return 0; } struct A{ enum { value = true }; }; int x = f(); }}} The problem is that there's a missing {{{typename}}} in the code generated by the macro: {{{ #!cpp template int f() { struct STATIC_WARNING7 { ::boost::static_warning_impl<(bool)( T::value )> ::type* p; void f() { delete p; } }; // ---------------------^ HERE return 0; } }}} I think there are tricks that can help you get around this requirement (ask Daniel Wallin what he did in the Parameter library), but in the meantime BOOST_STATIC_WARNING should at least be made into a no-op for Intel C++. That is enough to get the library working on one additional platform and might even be an acceptable change for 1.35.0 ",Bugs,closed,Boost 1.36.0,serialization,Boost 1.35.0,Problem,fixed,,Beman Dawes