https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80488
Bug ID: 80488
Summary: Erroneous error "lambda-expression in template
argument"
Product: gcc
Version: 8.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: c++
Assignee: unassigned at gcc dot gnu.org
Reporter: eric.niebler at gmail dot com
Target Milestone: ---
Compile with -std=gnu++1z:
template <auto> using x = void;
using Y = x<+[]{}>;
The above code creates a lambda and then applies unary operator +, forcing it
to decay to a function pointer. Since that's constexpr, it should be a valid
template argument.
clang-trunk accepts this code.