modifying a superclass raises error on subclass
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
SBCL |
New
|
Undecided
|
Unassigned |
Bug Description
While trying to upgrade from ASDF 2.32 to ASDF 3.1.0.83, I get this error while trying to redefine ASDF/BUNDLE:
While computing the class precedence list of the class named ASDF/CONCATENAT
It is not possible to compute the class precedence list because
there is a circularity in the local precedence relations.
This arises because:
The class named ASDF/LISP-
The class named ASDF/BUNDLE:
The class hierarchy is changed to make more sense, but this causes issues while hot upgrading the code. Could SBCL provide a mechanism (maybe a restart?) to invalidate methods using the subclass without preventing me from reaching the point where the subclass will be redefined to resolve the circularity?
Not an urgent bug, since unintern provides an acceptable (though frankly quite ugly) workaround, sufficient for my purposes. But that means that all the nice data upgrade protocol (upgrade- instance- for-redefined- class) becomes unavailable, and we have to drop in-memory data and reconstitute it from disk — not nice.