[clang] [Clang] prevent null explicit object argument from being deduced (PR #104328)
Matheus Izvekov via cfe-commits
cfe-commits at lists.llvm.org
Thu Aug 15 11:17:26 PDT 2024
================
@@ -4462,6 +4462,9 @@ TemplateDeductionResult Sema::DeduceTemplateArguments(
ParamTypesForArgChecking.push_back(ParamType);
if (ParamIdx == 0 && HasExplicitObject) {
+ if (ObjectType.isNull())
+ return TemplateDeductionResult::InvalidExplicitArguments;
----------------
mizvekov wrote:
It is expected from this return code that `Info.Param` will be pointing to the relevant parameter with invalid explicit argument. So you would need something like:
```C++
Info.Param = makeTemplateParameter(TemplateParams->getParam(0));
```
https://github.com/llvm/llvm-project/pull/104328
More information about the cfe-commits
mailing list