#include <iostream>
struct X{
X(){}
X(X const&){ std::cout << "X copy\n"; }
};
struct Y{
void f(){
auto x_ = x;
[x_]{}();
}
void g(){
auto& x_ = x;
[x_]{}();
}
X x;
};
int main(){
Y y;
y.f();
std::cout << "====\n";
y.g();
}
I2luY2x1ZGUgPGlvc3RyZWFtPgoKc3RydWN0IFh7CiAgWCgpe30KICBYKFggY29uc3QmKXsgc3RkOjpjb3V0IDw8ICJYIGNvcHlcbiI7IH0KfTsKCnN0cnVjdCBZewogIHZvaWQgZigpewogICAgYXV0byB4XyA9IHg7CiAgICBbeF9de30oKTsKICB9CiAgCiAgdm9pZCBnKCl7CiAgICBhdXRvJiB4XyA9IHg7CiAgICBbeF9de30oKTsKICB9CiAgCiAgWCB4Owp9OwoKaW50IG1haW4oKXsKICBZIHk7CiAgeS5mKCk7CiAgc3RkOjpjb3V0IDw8ICI9PT09XG4iOwogIHkuZygpOwp9Cgo=