// RUN: %clang_cc1 -fsyntax-only -verify -std=c++1z %s
// C++1z [temp.local]p1:
// Like normal (non-template) classes, class templates have an
// injected-class-name (Clause 9). The injected-class-name can
// be used as a template-name or a type-name.
char id;
;
;
void ; // expected-note {{invalid explicitly-specified argument}} expected-note {{no known conversion}}
void ; // expected-note 2{{no known conversion}}
void ; // expected-note 2{{invalid explicitly-specified argument}}
;
;
;
; // expected-note {{instantiation of}}
;
// Test non-type template parameters.
;
// When it is used with a template-argument-list, it refers to the specified
// class template specialization, which could be the current specialization
// or another specialization.
// FIXME: Test this clause.
int i = 42;
void