GNU bug report logs - #78989
31.0.50; classes and methods inheritance (defclass) seq-contains-p

Previous Next

Package: emacs;

Reported by: "Pierre L. Nageoire" <devel <at> pollock-nageoire.net>

Date: Thu, 10 Jul 2025 09:38:02 UTC

Severity: normal

Found in version 31.0.50

Full log


Message #38 received at 78989 <at> debbugs.gnu.org (full text, mbox):

From: Pip Cet <pipcet <at> protonmail.com>
To: Stefan Monnier <monnier <at> iro.umontreal.ca>
Cc: 78989 <at> debbugs.gnu.org, Eli Zaretskii <eliz <at> gnu.org>,
 "Pierre L. Nageoire" <devel <at> pollock-nageoire.net>
Subject: Re: bug#78989: 31.0.50;
 classes and methods inheritance (defclass) seq-contains-p
Date: Sun, 13 Jul 2025 10:23:57 +0000
"Stefan Monnier" <monnier <at> iro.umontreal.ca> 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





This bug report was last modified 24 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.