mirror of
https://gitlab.com/embeddable-common-lisp/ecl.git
synced 2026-01-25 05:51:55 -08:00
validate-superclass: return T when class is a forward-referenced-class
defclass calls indirectly ensure-class-using-class from builtin module which calls make-instance on metaclass (which could be a forward-referenced class). That triggers validate-superclass on (validate-superclass #<forward-ref-class> #<standard-class standard-object>) which failed. This commit mitigates this situation. Problem was masked because of *clos-boot* never been set to T (recently fixed).
This commit is contained in:
parent
7f1bb5c59b
commit
ead9ab4f38
1 changed files with 3 additions and 4 deletions
|
|
@ -261,10 +261,9 @@ argument was supplied for metaclass ~S." (class-of class))))))))
|
|||
(c2 (class-of superclass)))
|
||||
(or (eq c1 c2)
|
||||
(and (eq c1 +the-standard-class+) (eq c2 +the-funcallable-standard-class+))
|
||||
(and (eq c2 +the-standard-class+) (eq c1 +the-funcallable-standard-class+))
|
||||
))
|
||||
(forward-referenced-class-p superclass)
|
||||
))
|
||||
(and (eq c2 +the-standard-class+) (eq c1 +the-funcallable-standard-class+))))
|
||||
(or (forward-referenced-class-p class)
|
||||
(forward-referenced-class-p superclass))))
|
||||
|
||||
;;; ----------------------------------------------------------------------
|
||||
;;; FINALIZATION OF CLASS INHERITANCE
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue