#include <iostream>
struct Foo {
friend void foo (int x) { std::cout << x << '\n'; }
operator int () const { return 1234; }
};
int main() {
foo(Foo()); // This compiles fine
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgoKc3RydWN0IEZvbyB7CiAgICBmcmllbmQgdm9pZCBmb28gKGludCB4KSB7IHN0ZDo6Y291dCA8PCB4IDw8ICdcbic7IH0KICAgIG9wZXJhdG9yIGludCAoKSBjb25zdCB7IHJldHVybiAxMjM0OyB9Cn07CgppbnQgbWFpbigpIHsKICAgIGZvbyhGb28oKSk7ICAvLyBUaGlzIGNvbXBpbGVzIGZpbmUKICAgIHJldHVybiAwOwp9Cg==