// PR c++/85864
// { dg-do compile { target c++14 } }
// { dg-options -w }
template<class T, T... S> struct String_template {};
template<class C, C... S>
constexpr String_template<C, S...> operator""_template() {
    return String_template<C, S...> {};
}
template<class prefix = decltype("0x"_template), class T>
int hex(T v) { return 1; }
template<int v> 
void tt2() {
  //    auto h2 = hex<decltype("0x"_template)>(1);
    auto h = hex(2);
}
int main() {
  //    auto h = hex(2);
  //    return h;
}