Subject: bug#78989: 31.0.50; classes and methods inheritance (defclass) seq-contains-p

From: Pip Cet <[email-masked]>
Date: Sun, 13 Jul 2025 10:23:57 +0000

"Stefan Monnier" <[email-masked]> writes:

>> I'm convinced both of your patches will still produce
>> topologically inconsistent orderings.
>
> Not without emitting a warning along the way.

I'm very confused here.  Can you make sure you sent the right patch?
Or point out where the last patch emits a warning?  I just don't see any
code to do so.

>> That is because the information necessary to figure out how to break
>> an artificial "cycle" is lost the second we stop considering the
>> inheritance graph and limit ourselves to previously-linearized
>> ancestor lists.
>
> Indeed.  That's a choice between losing monotonicity and suffering from
> artificial-cycles.  You can't avoid both.  But years of experience in
> other languages told us that it's easier for programmers to deal with
> artificial cycles than with loss of monotonicity.

I'm baffled by that, but I'll take your word for it.

Pip