Per the ABI rules, substitutable components are symbolic constructs, not
the associated mangling character strings, so references to function
parameters or template parameters of distinct <encoding>s should not be
considered substitutable even if they're at the same depth / index.
See https://github.com/itanium-cxx-abi/cxx-abi/issues/106.
This change can be turned off by setting -fclang-abi-compat to 10 or
earlier.
clang-format: please reformat the code