Puzzle #5 (based on C++17)
#include <iostream>

struct Foo
{
    Foo() = default;
    Foo(const Foo&) { std::cout << 1; }
    Foo(Foo&&) { std::cout << 2; }
    Foo& operator=(const Foo&) { std::cout << 3; return *this; }
    Foo& operator=(Foo&&) { std::cout << 4; return *this; }
};

int main()
{
    const Foo foo;
    Foo bar = std::move(foo);
}
With given code, pick one answer:
Guaranteed to print 1.
Guaranteed to print 2.
Guaranteed to print 3.
Guaranteed to print 4.
Undefined bahaviour
Implementation defined
Will not compile