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 }
This is likely a dup of 87709.
Looks almost identical. *** This bug has been marked as a duplicate of bug 87709 ***
Didn't realize the OP had filed a bug report already.