| // RUN: %clang_cc1 -fsyntax-only -verify -std=c++0x %s | |
| namespace Constructor { | |
| struct A { | |
| A(int); | |
| }; | |
| struct B { | |
| explicit B(int); | |
| }; | |
| B::B(int) { } | |
| struct C { | |
| void f(const A&); | |
| void f(const B&); | |
| }; | |
| void f(C c) { | |
| c.f(10); | |
| } | |
| } | |
| namespace Conversion { | |
| struct A { | |
| operator int(); | |
| explicit operator bool(); | |
| }; | |
| A::operator bool() { return false; } | |
| struct B { | |
| void f(int); | |
| void f(bool); | |
| }; | |
| void f(A a, B b) { | |
| b.f(a); | |
| } | |
| } |