Skip to content

Commit

Permalink
0.8alpha.0.2:
Browse files Browse the repository at this point in the history
	Fix for methods on classes with incomplete subclasses (detected
	by KMR/McCLIM compilation)
	... distilled test for it.
  • Loading branch information
csrhodes committed Apr 30, 2003
1 parent 26e0016 commit 2deca07
Show file tree
Hide file tree
Showing 3 changed files with 10 additions and 10 deletions.
11 changes: 2 additions & 9 deletions src/pcl/dfun.lisp
Expand Up @@ -1411,11 +1411,7 @@ And so, we are saved.
(eq (cadr specl) (cadr type)))
(class
(or (eq (cadr specl) (cadr type))
(memq (cadr specl)
(if (eq *boot-state* 'complete)
(class-precedence-list (cadr type))
(early-class-precedence-list
(cadr type)))))))))
(memq (cadr specl) (cpl-or-nil (cadr type))))))))
(values pred pred))))

(defun saut-prototype (specl type)
Expand All @@ -1428,10 +1424,7 @@ And so, we are saved.
(class-eq (eq (cadr specl) (class-of (cadr type))))
(class (memq (cadr specl)
(let ((class (class-of (cadr type))))
(if (eq *boot-state* 'complete)
(class-precedence-list class)
(early-class-precedence-list
class))))))))
(cpl-or-nil class)))))))
(values pred pred)))

(defun specializer-applicable-using-type-p (specl type)
Expand Down
7 changes: 7 additions & 0 deletions tests/clos.impure-cload.lisp
Expand Up @@ -63,6 +63,13 @@
(defmethod baz ((x specializer1)) x)
(assert (typep (baz (make-instance 'specializer1)) 'specializer1))

;;; ... and from McCLIM, another test case:
(defclass specializer1a (specializer2a specializer2b) ())
(defclass specializer2a () ())
(defmethod initialize-instance :after
((obj specializer2a) &key &allow-other-keys)
(print obj))

;;; in a similar vein, we should be able to define methods on classes
;;; that are effectively unknown to the type system:
(sb-mop:ensure-class 'unknown-type)
Expand Down
2 changes: 1 addition & 1 deletion version.lisp-expr
Expand Up @@ -17,4 +17,4 @@
;;; checkins which aren't released. (And occasionally for internal
;;; versions, especially for internal versions off the main CVS
;;; branch, it gets hairier, e.g. "0.pre7.14.flaky4.13".)
"0.8alpha.0.1"
"0.8alpha.0.2"

0 comments on commit 2deca07

Please sign in to comment.