https://gcc.gnu.org/bugzilla/show_bug.cgi?id=96464

            Bug ID: 96464
           Summary: GCC allows 'auto' in template argument
           Product: gcc
           Version: 11.0
            Status: UNCONFIRMED
          Keywords: accepts-invalid
          Severity: normal
          Priority: P3
         Component: c++
          Assignee: unassigned at gcc dot gnu.org
          Reporter: haoxintu at gmail dot com
  Target Milestone: ---

Hi, all.

This code is invalid code I guess, but GCC-6.0 onwards versions accept it.

$cat small.cc
template <class> class b {};
void foo(){
    auto var = [] (class b<auto>...) {};
}

$g++ -c small.cc
//nothing

$clang++ -c small.cc
small.cc:3:28: error: 'auto' not allowed in template argument
    auto var = [] (class b<auto>...) {};
                           ^~~~
1 error generated.

Thanks,
Haoxin

Reply via email to