chiark / gitweb /
src/class-make-impl.lisp: Forbid slots with function types.
authorMark Wooding <mdw@distorted.org.uk>
Sun, 26 Mar 2017 14:16:18 +0000 (15:16 +0100)
committerMark Wooding <mdw@distorted.org.uk>
Fri, 8 Jun 2018 18:58:28 +0000 (19:58 +0100)
Pointer-to-function type is fine, of course.

src/class-make-impl.lisp

index 7263e44f7fce100afe9284d2b4d161a0c2d9799f..78f8fed0a892d87f9da5f57bec95758e445a66f7 100644 (file)
@@ -66,6 +66,8 @@   (default-slot-from-property (class 'chain-link slot-names)
 (defmethod make-sod-slot
     ((class sod-class) name type pset &optional location)
   (with-default-error-location (location)
+    (when (typep type 'c-function-type)
+      (error "Slot declarations cannot have function type"))
     (let ((slot (make-instance (get-property pset :slot-class :symbol
                                             'sod-slot)
                               :class class