diff options
Diffstat (limited to 'core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/cpp/semantics/TemplateArgumentDeduction.java')
-rw-r--r-- | core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/cpp/semantics/TemplateArgumentDeduction.java | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/cpp/semantics/TemplateArgumentDeduction.java b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/cpp/semantics/TemplateArgumentDeduction.java index 021c2faaa83..be23516639f 100644 --- a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/cpp/semantics/TemplateArgumentDeduction.java +++ b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/cpp/semantics/TemplateArgumentDeduction.java @@ -678,8 +678,12 @@ public class TemplateArgumentDeduction { if (!(a instanceof ICPPReferenceType)) { return false; } - p = ((ICPPReferenceType) p).getType(); - a = ((ICPPReferenceType) a).getType(); + final ICPPReferenceType rp = (ICPPReferenceType) p; + final ICPPReferenceType ra = (ICPPReferenceType) a; + if (ra.isRValueReference() != rp.isRValueReference()) + return false; + p = rp.getType(); + a = ra.getType(); } else if (p instanceof IArrayType) { if (!(a instanceof IArrayType)) { return false; |