[Bug c++/67117] New: [c++-concepts] Constraints ignored on variable template
Casey at Carter dot net
gcc-bugzilla@gcc.gnu.org
Tue Aug 4 15:25:00 GMT 2015
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67117
Bug ID: 67117
Summary: [c++-concepts] Constraints ignored on variable
template
Product: gcc
Version: c++-concepts
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: c++
Assignee: unassigned at gcc dot gnu.org
Reporter: Casey at Carter dot net
Target Milestone: ---
r226546 fails to compile this TU:
template <class>
requires false
constexpr bool v = true;
template <class>
constexpr bool f() { return true; }
template <class T>
requires v<T>
constexpr bool f() { return false; }
static_assert(f<void>());
with error:
~/concept-gcc/bin/g++ -std=gnu++1z foo.cpp -c
foo.cpp:12:1: error: static assertion failed
static_assert(f<void>());
^
It seems the constraints on the variable template are not checked. Indeed this
TU:
template <class>
requires false
constexpr bool v = true;
static_assert(v<void>);
is accepted without diagnoses.
More information about the Gcc-bugs
mailing list