// RUN: %clang_cc1 -ast-print -std=c++17 %s | FileCheck %s | |
struct S { | |
template<typename ... T> | |
void test1(int i, T... t) { | |
{ | |
auto lambda = [i]{}; | |
//CHECK: [i] { | |
} | |
{ | |
auto lambda = [=]{}; | |
//CHECK: [=] { | |
} | |
{ | |
auto lambda = [&]{}; | |
//CHECK: [&] { | |
} | |
{ | |
auto lambda = [k{i}] {}; | |
//CHECK: [k{i}] { | |
} | |
{ | |
auto lambda = [k(i)] {}; | |
//CHECK: [k(i)] { | |
} | |
{ | |
auto lambda = [k = i] {}; | |
//CHECK: [k = i] { | |
} | |
{ | |
auto lambda = [t..., i]{}; | |
//CHECK: [t..., i] { | |
} | |
{ | |
auto lambda = [&t...]{}; | |
//CHECK: [&t...] { | |
} | |
{ | |
auto lambda = [this, &t...]{}; | |
//CHECK: [this, &t...] { | |
} | |
{ | |
auto lambda = [t..., this]{}; | |
//CHECK: [t..., this] { | |
} | |
{ | |
auto lambda = [k(t...)] {}; | |
//CHECK: [k(t...)] { | |
} | |
{ | |
auto lambda = [k{t...}] {}; | |
//CHECK: [k{t...}] { | |
} | |
} | |
}; |