dewen added inline comments.
================ Comment at: clang/test/CXX/class.derived/class.member.lookup/p11.cpp:15 +struct D: I1, I2, B2 { + using B1::f; + using B2::f; ---------------- ``` bool correctness{true}; struct A { bool operator==(A const&oth) const { return true; } }; struct B { bool operator==(B const&oth) const { return false; } }; struct C { bool operator==(C const&oth) const { correctness=false; return false; } }; typedef std::tuple<A,B,C> tuple_t ; int test_it (void) { tuple_t x,y; return ( !(x==y) ) && correctness ; } ``` This test case does not report an error in GCC11 and later versions. The tuple class overloads the operator==() method. Different structs also overload the operator==() method. Due to the introduction of the patch, the llvm18 reports an error when compiling the test case. Is this reasonable? Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D155387/new/ https://reviews.llvm.org/D155387 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits