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 bc4c7a8e68a..b32af8316c1 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 @@ -2032,6 +2032,34 @@ public class AST2TemplateTests extends AST2BaseTest { ICPPFunction fn= bh.assertNonProblem("makeClosure(this", 11, ICPPFunction.class); } + // template + // class A {}; + // + // template + // A* func(const T* obj, R (T::*m)(P1, P2, P3, P4) const); + // + // template + // class B {}; + // + // template + // B* func(T* obj, R (T::*m)(P1, P2, P3, P4)); + // + // struct C { + // int m1(int a1, int a2, int a3, int a4); + // int m2(int a1, int a2, int a3, int a4) const; + // }; + // + // void f(C* c, const C* d) { + // func(c, &C::m1); + // func(d, &C::m2); + // } + public void _testBug233889() throws Exception { + BindingAssertionHelper bh= new BindingAssertionHelper(getAboveComment(), true); + ICPPFunction fn1= bh.assertNonProblem("func(c", 4, ICPPFunction.class); + ICPPFunction fn2= bh.assertNonProblem("func(d", 4, ICPPFunction.class); + assertNotSame(fn1, fn2); + } + // template // struct pair { // typedef _T1 first_type;