// RUN: %clang_cc1 -fsyntax-only -verify %s // expected-no-diagnostics namespace llvm { template<typename T > struct StringSet; template<int I > struct Int; template <typename Inner, template <typename> class Outer> struct TemplTempl; } namespace lld { using llvm::StringSet; using llvm::Int; using llvm::TemplTempl; }; namespace llvm { template<typename T > struct StringSet; } template<typename T> struct Temp{}; namespace llvm { template<typename T = int> struct StringSet{}; template<int I = 5> struct Int{}; template <typename Inner, template <typename> class Outer = Temp> struct TemplTempl{}; }; namespace lld { StringSet<> s; Int<> i; TemplTempl<int> tt; }