#include <map>
struct Foo
{
Foo () {};
Foo (const Foo &) = delete;
Foo & operator = (const Foo &) = delete;
Foo (Foo &&) {}
Foo & operator = (Foo &&) {return *this;}
};
int main ()
{
std::map<int, Foo> m;
m.insert (std::make_pair (123, Foo ()));
}
I2luY2x1ZGUgPG1hcD4KCnN0cnVjdCBGb28KewogICAgRm9vICgpIHt9OwoKICAgIEZvbyAoY29uc3QgRm9vICYpID0gZGVsZXRlOwogICAgRm9vICYgb3BlcmF0b3IgPSAoY29uc3QgRm9vICYpID0gZGVsZXRlOwoKICAgIEZvbyAoRm9vICYmKSB7fQogICAgRm9vICYgb3BlcmF0b3IgPSAoRm9vICYmKSB7cmV0dXJuICp0aGlzO30KfTsKCmludCBtYWluICgpCnsKICAgIHN0ZDo6bWFwPGludCwgRm9vPiBtOwoKICAgIG0uaW5zZXJ0IChzdGQ6Om1ha2VfcGFpciAoMTIzLCBGb28gKCkpKTsKfQ==