1
0
Fork 0
mirror of https://github.com/eclipse-cdt/cdt synced 2025-06-08 18:26:01 +02:00

Bug 494359 - Explicit specialization is improperly ignored

Change-Id: I3294202002338281c7310f9ef77e2d5293566e0b
This commit is contained in:
Sergey Prigogin 2016-05-23 20:39:49 -07:00
parent 954d834eb0
commit 9869fc70a5

View file

@ -461,7 +461,7 @@ public class CPPTemplates {
ICPPTemplateInstance result = ((ICPPInstanceCache) template).getInstance(args); ICPPTemplateInstance result = ((ICPPInstanceCache) template).getInstance(args);
if (forDefinition && result instanceof IIndexBinding) if (forDefinition && result instanceof IIndexBinding)
return null; return null;
if (result != null) { if (result != null && !result.isExplicitSpecialization()) {
// Don't use the cached instance if its argument is an index type and the requested // Don't use the cached instance if its argument is an index type and the requested
// argument is an AST type. Despite identical signatures the types may be different. // argument is an AST type. Despite identical signatures the types may be different.
ICPPTemplateArgument[] instanceArgs = result.getTemplateArguments(); ICPPTemplateArgument[] instanceArgs = result.getTemplateArguments();