0.pre7.80:
[sbcl.git] / src / compiler / knownfun.lisp
index f869ab8..4030b09 100644 (file)
@@ -66,7 +66,7 @@
 
 (defstruct (function-info #-sb-xc-host (:pure t))
   ;; Boolean attributes of this function.
-  (attributes (required-argument) :type attributes)
+  (attributes (missing-arg) :type attributes)
   ;; A list of Transform structures describing transforms for this function.
   (transforms () :type list)
   ;; A function which computes the derived type for a call to this function by
 
 ;;; an IR1 transform
 (defstruct (transform (:copier nil))
-  ;; the function-type which enables this transform
-  (type (required-argument) :type ctype)
+  ;; the function type which enables this transform.
+  ;;
+  ;; (Note that declaring this :TYPE FUN-TYPE probably wouldn't
+  ;; work because some function types, like (SPECIFIER-TYPE 'FUNCTION0
+  ;; itself, are represented as BUILT-IN-TYPE, and at least as of
+  ;; sbcl-0.pre7.54 or so, that's inconsistent with being a
+  ;; FUN-TYPE.)
+  (type (missing-arg) :type ctype)
   ;; the transformation function. Takes the COMBINATION node and returns a
   ;; lambda, or throws out.
-  (function (required-argument) :type function)
+  (function (missing-arg) :type function)
   ;; string used in efficiency notes
-  (note (required-argument) :type string)
+  (note (missing-arg) :type string)
   ;; T if we should emit a failure note even if SPEED=INHIBIT-WARNINGS.
   (important nil :type (member t nil))
   ;; usable for byte code, native code, or both?