Oh, you are right. I am using the github mirror, and I was on the master branch which is not up to date. The 1.4 branch is.
The private copy constructor are declared like this : ValueArg<T>(const ValueArg<T>& rhs); MultiArg<T>(const MultiArg<T>& rhs); This does not compile with GCC 11, with C++20 enabled. They should be declared like this : ValueArg(const ValueArg<T>& rhs); MultiArg(const MultiArg<T>& rhs);