X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~mdw/git/sod/blobdiff_plain/d1c01c331ae3f2994d65b9d41655b0d4f2fcbf3d..57b365324f35a6237602ab840c23f4f06c8c317c:/src/module-parse.lisp diff --git a/src/module-parse.lisp b/src/module-parse.lisp index 0a3cd28..747bdf7 100644 --- a/src/module-parse.lisp +++ b/src/module-parse.lisp @@ -267,7 +267,14 @@ (defun parse-class-body (scanner pset name supers) (continue () (setf duff t) (list (find-sod-class "SodObject")))))) - superclasses)) + (find-duplicates (lambda (first second) + (declare (ignore second)) + (setf duff t) + (cerror* "Class `~A' has duplicate ~ + direct superclass `~A'" + name first)) + superclasses) + (delete-duplicates superclasses))) (synthetic-name (or name (let ((var (synthetic-name))) (unless pset