[LLVMbugs] [Bug 19373] clang erroneously enforcing alias template parameter kind

bugzilla-daemon at llvm.org bugzilla-daemon at llvm.org
Sun Apr 13 16:54:52 PDT 2014


Richard Smith <richard-llvm at metafoo.co.uk> changed:

           What    |Removed                     |Added
             Status|NEW                         |RESOLVED
                 CC|                            |richard-llvm at metafoo.co.uk
         Resolution|---                         |INVALID

--- Comment #1 from Richard Smith <richard-llvm at metafoo.co.uk> ---
Your instantiation is this:

template<typename T, typename ...Us> using X = T;
struct S/*<X>*/ {
  template<typename ...Us> using X = ::X<Us...>;

Clang implements the proposed direction of core issue 1430 here, under which
this is ill-formed. (You can't use alias templates to pull a pack apart;
they're substituted / canonicalized before the pack size is known, so this
would present significant implementation issues.)

GCC trunk rejects your testcase with essentially the same diagnostic that clang

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/20140413/677cf657/attachment.html>

More information about the llvm-bugs mailing list