chiark / gitweb /
An actual running implementation, which makes code that compiles.
[sod] / src / class-make-impl.lisp
index ae65392185aed89338ef05891dc1123f7e7bb68d..09ce441c9e307b87ff783a79353dae5cba918f38 100644 (file)
@@ -210,7 +210,10 @@ (defmethod shared-initialize :after
   ;; Check that the arguments are named if we have a method body.
   (with-slots (body type) method
     (unless (or (not body)
-               (every #'argument-name (c-function-arguments type)))
+               (every (lambda (arg)
+                        (or (argument-name arg)
+                            (eq (argument-type arg) (c-type void))))
+                      (c-function-arguments type)))
       (error "Abstract declarators not permitted in method definitions")))
 
   ;; Check the method type.