http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57239
--- Comment #2 from etherice <scottbaldwin at gmail dot com> --- (In reply to Daniel Krügler from comment #1) > The report misses a complete example. The following is a reduced form and > free of library stuff: > > //------------------------------------------------------- > ... The reason I provided two separate examples (which both appear complete to me, and only use standard headers <iostream> and <type_traits>) was to demonstrate that the bug can either result in compilation errors, but in some cases not have any compilation errors at all (in which case incorrect code is generated unless explicitly checked for with a static_assert or template metaprogramming-based error). The "compile-time error demo" (the one you reduced), by itself, does not demonstrate the latter case since the test (whether it's a static or runtime test) can never be "reached" due to the compile error ("'Ts ...' is not a valid type for a template non-type parameter", which is essentially the same in 4.7/4.8/4.9). So both examples were needed to show the full extent.