================
@@ -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
----------------
cor3ntin wrote:

Consider things like 

```cpp
struct S {
   template <typename T>
   void f(this Foo<T>);
};

```

It might be prudent to 
  1/ call `simplifyType` first
  2/ only apply the heuristic to undeduced auto and TemplateTypeParmType




https://github.com/llvm/llvm-project/pull/155143
_______________________________________________
cfe-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to