Implicit conversion of id in objc++ mode

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