diff --git a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/cpp/semantics/CPPTemplates.java b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/cpp/semantics/CPPTemplates.java index 6550480bcb5..2cc01be9ed2 100644 --- a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/cpp/semantics/CPPTemplates.java +++ b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/cpp/semantics/CPPTemplates.java @@ -139,7 +139,7 @@ public class CPPTemplates { public static IBinding instantiate(ICPPTemplateDefinition template, ICPPTemplateArgument[] arguments) { try { arguments= SemanticUtil.getSimplifiedArguments(arguments); - if (template instanceof ICPPTemplateTemplateParameter) { + if (template instanceof ICPPTemplateTemplateParameter || hasDependentArgument(arguments)) { return deferredInstance(template, arguments); }