// RUN: %clang_cc1 -fsyntax-only -verify %s // expected-no-diagnostics // FIXME: [temp.deduct.conv]p2 bullets 1 and 2 can't actually happen without // references? // struct ConvertibleToArray { // // template // // operator T(()[]) const; // private: // typedef int array[17]; // operator array() const; // }; // void test_array(ConvertibleToArray cta) { // int *ip = cta; // ip = cta; // const float *cfp = cta; // } // bullet 2 // struct ConvertibleToFunction { // template // operator T(A1, A2) const () { }; // }; // bullet 3 struct ConvertibleToCVQuals { template operator T* const() const; }; void test_cvqual_conv(ConvertibleToCVQuals ctcv) { int *ip = ctcv; const int *icp = ctcv; }