#include <iostream>
class Test {
public:
constexpr Test(int i) : i(i) { }
constexpr int get() { return i; };
private:
int i;
};
constexpr int test()
{
return 1;
}
int main() {
int x = 0;
constexpr Test y = Test(4);
switch (x) {
case test(): // this is OK
break;
case y.get(): // not working
break;
}
std::cout << "This is the end!" << std::endl;
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgoKY2xhc3MgVGVzdCB7CnB1YmxpYzoKICBjb25zdGV4cHIgVGVzdChpbnQgaSkgOiBpKGkpIHsgfQogIGNvbnN0ZXhwciBpbnQgZ2V0KCkgeyByZXR1cm4gaTsgfTsKcHJpdmF0ZToKICBpbnQgaTsKfTsKCmNvbnN0ZXhwciBpbnQgdGVzdCgpCnsKICByZXR1cm4gMTsKfQoKaW50IG1haW4oKSB7CiAgaW50IHggPSAwOwoKICBjb25zdGV4cHIgVGVzdCB5ID0gVGVzdCg0KTsKCiAgc3dpdGNoICh4KSB7CiAgY2FzZSB0ZXN0KCk6IC8vIHRoaXMgaXMgT0sKICAgIGJyZWFrOwogIGNhc2UgeS5nZXQoKTogLy8gbm90IHdvcmtpbmcKICAgIGJyZWFrOwogIH0KICAKICBzdGQ6OmNvdXQgPDwgIlRoaXMgaXMgdGhlIGVuZCEiIDw8IHN0ZDo6ZW5kbDsKICByZXR1cm4gMDsKfQ==