https://gcc.gnu.org/bugzilla/show_bug.cgi?id=119185
--- Comment #2 from Jonathan Wakely <redi at gcc dot gnu.org> --- What if the function is not called indirectly, wouldn't the implicit object ref just be garbage? My response to this is "just use C++". Then you have functions which are guaranteed by the language to be "member" functions, so always have an object ref, and it's guaranteed to be available with portable spelling ('this'). Otherwise this is yet another C++ feature being added to C because people want features from C++ (inline, constexpr, lambdas, namespaces, member functions ...) but won't use C++.