// RUN: %clang_cc1 -std=c++17 -verify %s // expected-no-diagnostics template<typename T, typename U> struct X { template<typename V> const V &as() { return V::error; } template<> const U &as<U>() { return u; } U u; }; int f(X<int, int> x) { return x.as<int>(); }