https://llvm.org/bugs/show_bug.cgi?id=24242
Bug ID: 24242 Summary: Misleading diagnostics when template being specialized is ambiguous Product: clang Version: trunk Hardware: PC OS: All Status: NEW Severity: normal Priority: P Component: C++ Assignee: unassignedclangb...@nondot.org Reporter: rs2...@gmail.com CC: dgre...@apple.com, llvmbugs@cs.uiuc.edu Classification: Unclassified Consider: namespace A { inline namespace B { template<class> struct C; } template<class> struct C; template<> struct C<int>{}; } Name lookup for `C` is obviously ambiguous, but the resulting error message doesn't mention that at all: prog.cc:4:23: error: explicit specialization of non-template struct 'C' template<> struct C<int>{}; ^~~~~~ prog.cc:4:23: error: redefinition of 'C' as different kind of symbol prog.cc:3:28: note: previous definition is here template<class> struct C; ^ 2 errors generated. -- You are receiving this mail because: You are on the CC list for the bug.
_______________________________________________ LLVMbugs mailing list LLVMbugs@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/llvmbugs