[llvm-bugs] [Bug 32185] New: template template parameters not matched correctly when they contain non-type template parameters

via llvm-bugs llvm-bugs at lists.llvm.org
Wed Mar 8 15:51:43 PST 2017


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

            Bug ID: 32185
           Summary: template template parameters not matched correctly
                    when they contain non-type template parameters
           Product: clang
           Version: trunk
          Hardware: PC
                OS: All
            Status: NEW
          Severity: normal
          Priority: P
         Component: C++
          Assignee: unassignedclangbugs at nondot.org
          Reporter: eniebler at boost.org
                CC: dgregor at apple.com, llvm-bugs at lists.llvm.org

template <template <typename T, T u> class U> struct bar_ {
  typedef char type;
};
template <template <typename T, T u> class U> struct bar {
  typedef typename bar_<U>::type type;
};


Gives:

test.cpp:5:25: error: template template argument has different template
parameters than its corresponding template template parameter
  typedef typename bar_<U>::type type;
                        ^
test.cpp:4:35: note: template non-type parameter has a different type 'T' in
template argument
template <template <typename T, T u> class U> struct bar {
                                  ^
test.cpp:1:35: note: previous non-type template parameter with type 'T' is here
template <template <typename T, T u> class U> struct bar_ {
                                  ^
test.cpp:5:29: error: expected a qualified name after 'typename'
  typedef typename bar_<U>::type type;
                            ^
test.cpp:5:33: error: expected ';' at end of declaration list
  typedef typename bar_<U>::type type;
                                ^
                                ;
3 errors generated.

Taewook Oh tracked this down to https://reviews.llvm.org/rL291512.

-- 
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/20170308/6002b1d5/attachment.html>


More information about the llvm-bugs mailing list