#include <iostream>
struct sometype {
sometype() { std::cout << "ctype()" << std::endl; }
~sometype() { std::cout << "~ctype()" << std::endl; }
};
const sometype &foobar( const sometype &cref ) { return cref; }
int main()
{
const sometype &cref1 = foobar( sometype() );
sometype &&cref2 = std::move( sometype() );
std::cout << "main continues" << std::endl;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgoKCnN0cnVjdCBzb21ldHlwZSB7Cglzb21ldHlwZSgpIHsgc3RkOjpjb3V0IDw8ICJjdHlwZSgpIiA8PCBzdGQ6OmVuZGw7IH0KCX5zb21ldHlwZSgpIHsgc3RkOjpjb3V0IDw8ICJ+Y3R5cGUoKSIgPDwgc3RkOjplbmRsOyB9Cn07Cgpjb25zdCBzb21ldHlwZSAmZm9vYmFyKCBjb25zdCBzb21ldHlwZSAmY3JlZiApIHsgcmV0dXJuIGNyZWY7IH0KCmludCBtYWluKCkKewoJY29uc3Qgc29tZXR5cGUgJmNyZWYxID0gZm9vYmFyKCBzb21ldHlwZSgpICk7Cglzb21ldHlwZSAmJmNyZWYyID0gc3RkOjptb3ZlKCBzb21ldHlwZSgpICk7CglzdGQ6OmNvdXQgPDwgIm1haW4gY29udGludWVzIiA8PCBzdGQ6OmVuZGw7Cn0=