Implicit conversions of id in objc++

Hi,

cat > out.mm << EOF

class A {
public:
void operator<<(bool n);
void operator<<(const void* p);
};

int f() {
id b;
A a;
a << b;
}

EOF

g++ -c out.mm #works
clang++ -c out.mm

test.mm:13:5: error: use of overloaded operator ‘<<’ is ambiguous
a << b;
~ ^ ~
test.mm:6:9: note: candidate function
void operator<<(bool n);
^
test.mm:7:9: note: candidate function
void operator<<(const void* p);
^
1 error generated.

Is this intentional? Should I file a bug?

Thanks,
Nico

This is not intentional, but you should not file a bug because I have fixed it (in r105817). Thanks for the report!

John.

Thanks for fixing the problem :slight_smile:

Thanks for fixing the problem :slight_smile: