Consider the following code:
class Base1:
def foo(self, x):
pass
class Base2:
def bar(self, x, y):
pass
base = Base1
base = Base2
class Derived(base):
pass
obj = Derived()
obj.
obj2 = Base1()
obj2 = Base2()
obj2.
The list of members provided for obj lists both foo and bar, regardless of whether the "Member completion displays intersection of members" checkbox in Tools -> Options -> Text Editor -> Python -> Advanced is checked or not. This is inconsistent with the behavior seen for obj2, where neither foo nor bar are listed when checkbox is checked.