Index: /trunk/source/lib/defstruct-lds.lisp
===================================================================
--- /trunk/source/lib/defstruct-lds.lisp	(revision 14020)
+++ /trunk/source/lib/defstruct-lds.lisp	(revision 14021)
@@ -286,8 +286,12 @@
   (intern (%str-cat (string name1) (string name2))))
 
+;; By special dispensation, don't complain about unknown types
+;; mentioned in defstruct :type slot options.
 (defun wrap-with-type-declaration (value slot &aux (slot-type (ssd-type slot)))
   (if (eq t slot-type)
     value
-    `(the ,slot-type ,value)))
+    (if (specifier-type-if-known slot-type)
+      `(the ,slot-type ,value)
+      value)))
 
 (defun make-class-cells-list (class-names)
