// PR c++/82643 | |
// { dg-do compile { target c++14 } } | |
int main() | |
{ | |
struct A { | |
constexpr int operator()() const { return 42; } | |
}; | |
auto f = A(); | |
constexpr auto x = f(); //ok, call constexpr const non-static method | |
[](auto const &f) { | |
constexpr auto x = f(); // { dg-error "" } | |
}(f); | |
[&]() { | |
constexpr auto x = f(); //ko, __closure is not a constant expression | |
}; | |
[=]() { | |
constexpr auto x = f(); //same ko, __closure is not a constant expression | |
}; | |
} |