A polymorphic class with a single base class uses a multiple inheritance
model, not a single inheritance model. However, a pointer-to-member
field may appear before we know that there are any virtual methods.
We will, wrongly, assign the class a single-inheritance
pointer-to-member representation. Later on, we will check to see what
representation it actually got and issue a diagnostic.
Downgrade this diagnostic to a warning *if* the selection of inheritance
model is implicit.
This fixes PR20464.
tl;dr
A derived class, a base class, a virtual method and a pointer-to-member
walk into a bar. The pointer-to-member ruins the experience for
everyone.
Maybe, namespace PR20464 since this isn't a warning any more?