1 // RUN: %clang_cc1 -fsyntax-only -verify %s
2 // expected-no-diagnostics
4 // FIXME: [temp.deduct.conv]p2 bullets 1 and 2 can't actually happen without
6 // struct ConvertibleToArray {
7 // // template<typename T, unsigned N>
8 // // operator T(()[]) const;
11 // typedef int array[17];
13 // operator array() const;
16 // void test_array(ConvertibleToArray cta) {
19 // const float *cfp = cta;
23 // struct ConvertibleToFunction {
24 // template<typename T, typename A1, typename A2>
25 // operator T(A1, A2) const () { };
29 struct ConvertibleToCVQuals
{
31 operator T
* const() const;
34 void test_cvqual_conv(ConvertibleToCVQuals ctcv
) {
36 const int *icp
= ctcv
;