[Bug c++/64488] [c++11] Expand initializer list with lambdas in variadic template. Reject valid code.

2017-09-13 Thread paolo.carlini at oracle dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64488

Paolo Carlini  changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution|--- |DUPLICATE

--- Comment #4 from Paolo Carlini  ---
Fixed.

*** This bug has been marked as a duplicate of bug 47226 ***

[Bug c++/64488] [c++11] Expand initializer list with lambdas in variadic template. Reject valid code.

2017-02-20 Thread vittorio.romeo at outlook dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64488

Vittorio Romeo  changed:

   What|Removed |Added

 CC||vittorio.romeo at outlook dot 
com

--- Comment #3 from Vittorio Romeo  ---
Further simplification:

template 
void foo() 
{
using arr = int(*[])();
(void) arr{[]{ return Is; }...};
}

int main() { foo<1,2,3>(); }



* clang++ 3.3 (up to 5.0) happily compiles the code with -std=c++11.

* g++ 4.7 (up to 7.0) fails to compile with -std=c++11 (or c++14/c++1z)