This issue tracker has been migrated to GitHub, and is currently read-only.
For more information, see the GitHub FAQs in the Python's Developer Guide.

Title: better error reporting for MRO conflict
Type: Stage:
Components: Interpreter Core Versions:
Status: closed Resolution: accepted
Dependencies: Superseder:
Assigned To: gvanrossum Nosy List: gvanrossum, jhylton
Priority: normal Keywords:

Created on 2002-11-22 19:56 by jhylton, last changed 2022-04-10 16:05 by admin. This issue is now closed.

File name Uploaded Description Edit
*cvs-diff* jhylton, 2002-11-22 19:56
Messages (2)
msg13434 - (view) Author: Jeremy Hylton (jhylton) (Python triager) Date: 2002-11-22 19:56
This patch improves the error reporting for MRO
disagreement that results from constraints that C3 is
unable to honor.  It's not clear what the best error
reporting would be.  On the one hand, it seems like the
exception should report exactly which constraint could
not be satisfied and why, but the constraints are a bit
suble to explain and perhaps hard from users to grok. 
It would also require a lot more code to keep track of
the exact cause of the conflict.

Instead, this patch just reports the names of the
classes that could not be added to the MRO.  It doesn't
report what constraint failed, but it does give you a
good clue about where to look.

The patch also adds a bunch of comments to the C3
implementation.  I hope that someone without the paper
will have a little chance of maintaining the code.
msg13435 - (view) Author: Guido van Rossum (gvanrossum) * (Python committer) Date: 2002-11-25 21:39
Logged In: YES 

Checked into CVS, with some tweaks.
Date User Action Args
2022-04-10 16:05:55adminsetgithub: 37520
2002-11-22 19:56:19jhyltoncreate