#include <functional>
#include <iostream>
int main(int argc, char* argv[])
{
std::cout << "max stored locally size: " << sizeof(std::_Nocopy_types) << ", align: " << __alignof__(std::_Nocopy_types) << std::endl;
auto lambda = [](){};
typedef decltype(lambda) lambda_t;
std::cout << "lambda size: " << sizeof(lambda_t) << std::endl;
std::cout << "lambda align: " << __alignof__(lambda_t) << std::endl;
std::cout << "std::__is_location_invariant: " << std::__is_location_invariant<lambda_t>::value;
}
ICAjaW5jbHVkZSA8ZnVuY3Rpb25hbD4KICAgICNpbmNsdWRlIDxpb3N0cmVhbT4KIAogICAgaW50IG1haW4oaW50IGFyZ2MsIGNoYXIqIGFyZ3ZbXSkKICAgIHsKICAgICAgc3RkOjpjb3V0IDw8ICJtYXggc3RvcmVkIGxvY2FsbHkgc2l6ZTogIiA8PCBzaXplb2Yoc3RkOjpfTm9jb3B5X3R5cGVzKSA8PCAiLCBhbGlnbjogIiA8PCBfX2FsaWdub2ZfXyhzdGQ6Ol9Ob2NvcHlfdHlwZXMpIDw8IHN0ZDo6ZW5kbDsKICAgICAgICAKICAgICAgYXV0byBsYW1iZGEgPSBbXSgpe307CiAgICAgIAogICAgICB0eXBlZGVmIGRlY2x0eXBlKGxhbWJkYSkgbGFtYmRhX3Q7CiAgICAgIAogICAgICBzdGQ6OmNvdXQgPDwgImxhbWJkYSBzaXplOiAiIDw8IHNpemVvZihsYW1iZGFfdCkgPDwgc3RkOjplbmRsOwogICAgICBzdGQ6OmNvdXQgPDwgImxhbWJkYSBhbGlnbjogIiA8PCBfX2FsaWdub2ZfXyhsYW1iZGFfdCkgPDwgc3RkOjplbmRsOwogICAgICAKICAgICAgc3RkOjpjb3V0IDw8ICJzdGQ6Ol9faXNfbG9jYXRpb25faW52YXJpYW50OiAiIDw8IHN0ZDo6X19pc19sb2NhdGlvbl9pbnZhcmlhbnQ8bGFtYmRhX3Q+Ojp2YWx1ZTsKICAgIH0KICA=