[clang] [clang-tools-extra] [clang] Heuristic resolution for explicit object parameter (PR #155143)

Mythreya Kuricheti via cfe-commits cfe-commits at lists.llvm.org
Sun Aug 24 15:25:28 PDT 2025


================
@@ -301,9 +302,34 @@ std::vector<const NamedDecl *> HeuristicResolverImpl::resolveMemberExpr(
     return {};
   }
 
+  // check if member expr is in the context of an explicit object method
+  // If so, it's safe to assume the templated arg is of type of the record
----------------
MythreyaK wrote:

I tried to address this, but not sure if this is what you meant (I'm new to clang and still finding my way :smile:). Please let me know what you think! 

```cpp
   template <typename T>
   void f(this Foo<T>);
```

Can a `this` parameter be something other than a record not related to `S` (`Foo<T>`, in this example)? 

https://github.com/llvm/llvm-project/pull/155143


More information about the cfe-commits mailing list