The following [valid program](https://stackoverflow.com/questions/78758215/explicit-object-member-function-discrepancies-between-different-compilers) is rejected by clang but accepted by other three compilers. [Demo](https://godbolt.org/z/MGWbYdr8n) ```cpp struct C { void j(this const C); void j() const ; //#1: Clang:Nope while gcc and msvc:Ok }; ``` As explained in [this thread](https://stackoverflow.com/questions/78758215/explicit-object-member-function-discrepancies-between-different-compilers) this is well-formed. Clang doesn't seem to remove the top-level `const` qualifier from the first overload.