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

            Bug ID: 87712
           Summary: class template argument deduction fails with wrapped
                    parentheses
           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: ---

Reduced from https://stackoverflow.com/q/52950967/2069064:

template <class T>
struct lit {
    lit(T );
};

template <typename T>
void operator+(lit<T>, int);

int main() {
    auto a = lit('b');    // ok
    auto b = (lit('b'));  // ok
    lit('b') + 1;         // ok
    (lit('b')) + 1;       // error: missing template arguments after 'lit'
    (lit('b') + 1);       // ok
}

Reply via email to