diff --git a/core/org.eclipse.cdt.core.tests/parser/org/eclipse/cdt/core/parser/tests/ast2/AST2TemplateTests.java b/core/org.eclipse.cdt.core.tests/parser/org/eclipse/cdt/core/parser/tests/ast2/AST2TemplateTests.java index 8e258b4da25..79df6f44e9c 100644 --- a/core/org.eclipse.cdt.core.tests/parser/org/eclipse/cdt/core/parser/tests/ast2/AST2TemplateTests.java +++ b/core/org.eclipse.cdt.core.tests/parser/org/eclipse/cdt/core/parser/tests/ast2/AST2TemplateTests.java @@ -8076,4 +8076,24 @@ public class AST2TemplateTests extends AST2TestBase { helper.assertNonProblem("decltype(foo(T()))::type"); assertSameType((ITypedef) helper.assertNonProblem("U::type"), CommonTypes.int_); } + + // namespace N { + // template + // struct C; + // + // template + // struct C { + // C(); + // void waldo(); + // }; + // + // template + // C::C() {} + // + // template + // void C::waldo() {} + // } + public void testMemberOfPartialSpecialization_416788() throws Exception { + parseAndCheckBindings(); + } } diff --git a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/cpp/CPPNamespaceScope.java b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/cpp/CPPNamespaceScope.java index c4b2729e587..205e9de5480 100644 --- a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/cpp/CPPNamespaceScope.java +++ b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/cpp/CPPNamespaceScope.java @@ -163,7 +163,7 @@ public class CPPNamespaceScope extends CPPScope implements ICPPInternalNamespace IScope scope= this; ICPPASTNameSpecifier[] segments= name.getQualifier(); try { - for (int i= segments.length - 1; --i >= 0;) { + for (int i= segments.length; --i >= 0;) { if (scope == null) return false; IName scopeName = scope.getScopeName();