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

            Bug ID: 88864
           Summary: default template arguments not merged across all
                    declarations
           Product: gcc
           Version: 9.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: c++
          Assignee: unassigned at gcc dot gnu.org
          Reporter: barry.revzin at gmail dot com
  Target Milestone: ---

Shorter repro from StackOverflow https://stackoverflow.com/q/54202462/2069064:

struct B {
    template<typename T, typename U> B(T t);
};

template <typename T, typename U = int>
B::B(T t) { }

B b(3);


This is rejected by all versions of gcc because of an inability to deduce U.

Reply via email to