https://gcc.gnu.org/bugzilla/show_bug.cgi?id=93147

--- Comment #8 from Jonathan Wakely <redi at gcc dot gnu.org> ---
(In reply to Jonathan Wakely from comment #7)
> (In reply to Alexander Kondratskiy from comment #6)
> > What's strange here is that if one
> > of the structs isn't empty, the problem goes away - it's more subtle than
> > "the compiler sees the equality operators". Could the empty-base
> > optimization play a role? Common initial sequence?
> 
> That's not surprising at all. We only use derivation for tuple elements that
> are empty types, otherwise they're just data members.

i.e. it *is* as simple as "the compiler sees the equality operators". If the
elements are not empty, then the compiler doesn't see the operators, because
name lookup doesn't find members of members, only members of bases.

Reply via email to