A resolution to the ambiguity issue created by P0522, which is a DR solving
CWG 150, did not come as expected.
There is reasonable code in the wild which would be affected by this,
so we implement a workaround to disambiguate those cases:
We pick as the more specialized partial specialization the one
which has the first template argument of template specialization type
with a smaller number of arguments.
The driver flag is deprecated with a warning, and it will not have any effect.
Signed-off-by: Matheus Izvekov <mizvekov@gmail.com>
We should list this as implemented in Clang 4, with a footnote saying that until Clang 14 you need to pass an additional flag, like we do for char8_t: https://clang.llvm.org/cxx_status.html#p0482