Puzzle #3 (based on N4296)
Wrong answer. Try again or show the answer.
#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