| // RUN: %clang_cc1 -std=c++2a -fsyntax-only -emit-llvm-only %s |
| // RUN: %clang_cc1 -std=c++2a -fsyntax-only -fdelayed-template-parsing %s |
| // RUN: %clang_cc1 -std=c++2a -fsyntax-only -fms-extensions %s |
| // RUN: %clang_cc1 -std=c++2a -fsyntax-only -fdelayed-template-parsing -fms-extensions %s |
| auto z = [*this](auto z2, decltype(z2(this)) z3){}; |
| auto z = []<typename TT, typename TTT=decltype(TT()(this))>(){return 0;}; |
| z.template operator()<int(*)(B*)>(); |
| auto z = []<typename TT, decltype(TT()(this)) n>(){return 0;}; |
| z.template operator()<int(*)(C*), 8>(); |