// RUN: %clang_cc1 -std=c++2a -x c++ %s -verify
// expected-no-diagnostics
template<typename T,typename U=void>
concept C =true;namespacens{template<typename T,typename U=void>
concept D =true;}voidfoo1(C autoa,
C<int>autob,
ns::D autoc,
ns::D<int>autod,const C autoe,const C<int>autof,const ns::D autog,const ns::D<int>autoh);voidfoo2(C autoa);voidfoo3(C<int>autob);voidfoo4(ns::D autoc);voidfoo5(ns::D<int>autod);voidfoo6(const C autoe);voidfoo7(const C<int>autof);voidfoo8(const ns::D autog);voidfoo9(const ns::D<int>autoh);structS1{S1(C auto a,
C<int>auto b,
ns::D auto c,
ns::D<int>auto d,const C auto e,const C<int>auto f,const ns::D auto g,const ns::D<int>auto h);};structS2{S2(C auto a);};structS3{S3(C<int>auto b);};structS4{S4(ns::D auto c);};structS5{S5(ns::D<int>auto d);};structS6{S6(const C auto e);};structS7{S7(const C<int>auto f);};structS8{S8(const ns::D auto g);};structS9{S9(const ns::D<int>auto h);};