llvm-project/clang/test/SemaCXX/cxx2a-lambda-equals-this.cpp

16 lines
403 B
C++

// RUN: %clang_cc1 -std=c++2a -verify %s
// expected-no-diagnostics
// This test does two things.
// Deleting the copy constructor ensures that an [=, this] capture doesn't copy the object.
// Accessing a member variable from the lambda ensures that the capture actually works.
class A {
A(const A &) = delete;
int i;
void func() {
auto L = [=, this]() -> int { return i; };
L();
}
};