1 // RUN: %clang_cc1 -std=c++17 -verify %s
2 // expected-no-diagnostics
3 
4 template<typename T, typename U> struct X {
asX5   template<typename V> const V &as() { return V::error; }
asX6   template<> const U &as<U>() { return u; }
7   U u;
8 };
f(X<int,int> x)9 int f(X<int, int> x) {
10   return x.as<int>();
11 }
12