1 // The conversion from D* to B* is ambiguous, but that should not produce
2 // an error, it should remove the first f overload by SFINAE.
4 #define static_assert(TEST,STR) \
5 do { int ar[(TEST)?1:-1]; } while (0);
14 template <class T> T create();
20 one &f(char (*)[sizeof static_cast<T>(create<D *>())]);
26 static_assert(sizeof f<int>(0) == sizeof(two), "");
27 static_assert(sizeof f<B *>(0) == sizeof(two), "");