// RUN: %clang_cc1 -verify %s | |
// an attempt is made to find template argument values that will make P, after | |
// substitution of the deduced values, compatible with A | |
namespace cv_mismatch { | |
template<typename> struct X {}; | |
template<typename T> void f(X<const T>); // expected-note {{cannot deduce a type for 'T' that would make 'const T' equal 'volatile int'}} | |
void g() { f(X<volatile int>()); } // expected-error {{no matching}} | |
} |