This patch implements paper P0692R1 from the C++20 standard.
This also fixes a bug (https://llvm.org/PR37424) where explicit instantiations of templates parameterized by overloaded private member functions were incorrectly rejected.
This is my first contribution to CFE, so please let me know if I did something horribly wrong.
I'm talking about declarations like this.
Previously, we didn't reject it (which I believe was incorrect), and now we do.