https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67829

            Bug ID: 67829
           Summary: Bogus "ambiguous template instantiation" error with
                    partial specializations involving a template template
                    parameter
           Product: gcc
           Version: 6.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: c++
          Assignee: unassigned at gcc dot gnu.org
          Reporter: rs2740 at gmail dot com
  Target Milestone: ---

Repro:

template<class> class Purr { };

template<template<class> class, class>
class Meow;

template<template<class> class P>
class Meow<P, P<int>> { }; // 1

template<template<class> class P, class T>
class Meow<P, P<T>> { }; // 2

Meow<Purr, Purr<int>> kitty;

This should be unambiguous (and use #1), but GCC reports an ambiguity.

Reply via email to