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.

Reply via email to