[llvm-bugs] [Bug 33685] New: Local declared template class name as template template parameter in using

via llvm-bugs llvm-bugs at lists.llvm.org
Mon Jul 3 19:43:41 PDT 2017


https://bugs.llvm.org/show_bug.cgi?id=33685

            Bug ID: 33685
           Summary: Local declared template class name as template
                    template parameter in using
           Product: clang
           Version: 4.0
          Hardware: PC
                OS: Linux
            Status: NEW
          Severity: normal
          Priority: P
         Component: C++11
          Assignee: unassignedclangbugs at nondot.org
          Reporter: david at davidscorner.de
                CC: dgregor at apple.com, llvm-bugs at lists.llvm.org

template<template <class> class>
struct TTClass {};

template <typename>
struct Foo {
    using T = TTClass<Foo>;
};

int main(int argc, char *argv[]) {}

-----------------------------------

template_name_injection2.cpp:8:23: error: template argument for template
template parameter must be a class template or type alias template
    using T = TTClass<Foo>;

-----------------------------------

clang version 4.0.1 (tags/RELEASE_401/final)
Target: x86_64-unknown-linux-gnu

-----------------------------------

Foo should resolve to a template template parameter corresponding to C++ std
14.6.1. Adding the complete namespace works as a fix (using T =
TTClass<::Foo>;)

-- 
You are receiving this mail because:
You are on the CC list for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-bugs/attachments/20170704/23738f4a/attachment.html>


More information about the llvm-bugs mailing list