On 2/17/19 6:58 AM, Paolo Carlini wrote:
Hi,
here, when we don't see an initializer we believe we are surely dealing
with a case of C++17 template argument deduction for class templates,
but, in fact, it's just an ill-formed C++14 template variable
specialization. Conveniently, we can use here too the predicate
variable_template_specialization_p. Not 100% sure about the exact
wording of the error message, I added '#' to %qD to explicitly print the
auto-using type too.
I guess we should change the assert to a test, so that we give the error
if we aren't dealing with a class template placeholder. Variable
templates don't seem to be important to test for.
This error is also pretty poor for this testcase, where there is an
initializer.
Jason