[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
PCL bug?
- To: CommonLoops.pa@Xerox.COM
- Subject: PCL bug?
- From: Darrell <shane%blackcomb@rand.org>
- Date: Thu, 09 Mar 89 20:04:00 PST
- Cc: Darrell_Shane <shane@rand.org>
- Redistributed: CommonLoops.pa
Suppose the following:
(defclass a () ())
(defclass b (a)())
(defclass c (a b) ())
When c's defclass is evaluated I get:
Error: While computing the class-precedence-list for the class C:
There is a circular constraint through the classes: B A B.
This arises because:
B must precede A -- A is in the local supers of B.
A must precede B -- C has local supers (A B).
When I try to evaluate a new defclass for c such as:
(defclass c (b) ())
the same error occurs. I believe this is because c is not being removed
from class a's direct-subclasses list. That is, by evaluating the following:
(defclass c () ())
(describe (find-class 'a))
The class #<Standard-Class A 27013631> is an instance of class
#<Standard-Class STANDARD-CLASS 16405431>.
Name: A
Class-Precedence-List: (A OBJECT T)
Local-Supers: (OBJECT)
Direct-Subclasses: (B C)
#<Standard-Class A 27013631>
it is noticed that c is still a member of a's direct-subclasses.
Is this a bug or am I missing something?
Thanks,
Darrell Shane
P.S. I am using the "12/7/88 Can't think of a cute name" PCL in Franz
Allegro on a Sun3/60.