X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~mdw/git/sod/blobdiff_plain/e7d43325b56fc912c6ae55225e55529aff12b6ed..01778b39c53316dda3f757c49276d034039ee9cb:/src/builtin.lisp?ds=sidebyside diff --git a/src/builtin.lisp b/src/builtin.lisp index c7cb148..77eca39 100644 --- a/src/builtin.lisp +++ b/src/builtin.lisp @@ -297,17 +297,15 @@ (defmethod sod-message-effective-method-class (defmethod method-keyword-argument-lists ((method initialization-effective-method) direct-methods) (append (call-next-method) - (delete-duplicates - (mapcan (lambda (class) - (let ((initargs (sod-class-initargs class))) - (and initargs - (list (cons (mapcar #'sod-initarg-argument - initargs) - (format nil "initargs for ~A" - class)))))) - (sod-class-precedence-list - (effective-method-class method))) - :key #'argument-name))) + (mapcan (lambda (class) + (let ((initargs (sod-class-initargs class))) + (and initargs + (list (cons (format nil "initargs for ~A" + class) + (mapcar #'sod-initarg-argument + initargs)))))) + (sod-class-precedence-list + (effective-method-class method))))) (defmethod lifecycle-method-kernel ((method initialization-effective-method) codegen target) @@ -541,7 +539,8 @@ (defun bootstrap-classes (module) ;; Done. (dolist (class classes) - (finalize-sod-class class) + (unless (finalize-sod-class class) + (error "Failed to finalize built-in class")) (add-to-module module class)))) (export '*builtin-module*)