Puzzle #3 (based on N4296)
#include <iostream>
struct A
{
    A()
    {
        foo();
    }

    ~A()
    {
        foo();
    }

    void foo() const
    {
        std::cout << "0 ";
    }

    void foo()
    {
        std::cout << "1 ";
    }

};

int main()
{
    const A a;
    a.foo();
}
With given code, pick one answer:
Guaranteed to print "000"
Guaranteed to print "001"
Guaranteed to print "010"
Guaranteed to print "011"
Guaranteed to print "100"
Guaranteed to print "101"
Guaranteed to print "110"
Guaranteed to print "111"
Undefined bahaviour
Implementation defined
Will not compile