(error "Class is not a structure class: ~S" ',name))
,layout))))))
-;;; Get layout right away.
-(sb!xc:defmacro compile-time-find-layout (name)
- (find-layout name))
-
;;; re. %DELAYED-GET-COMPILER-LAYOUT and COMPILE-TIME-FIND-LAYOUT, above..
;;;
;;; FIXME: Perhaps both should be defined with DEFMACRO-MUNDANELY?
(let ((inherited (accessor-inherited-data name defstruct)))
(cond
((not inherited)
- (stuff `(declaim (inline ,name (setf ,name))))
+ (stuff `(declaim (inline ,name ,@(unless (dsd-read-only slot)
+ `((setf ,name))))))
;; FIXME: The arguments in the next two DEFUNs should
;; be gensyms. (Otherwise e.g. if NEW-VALUE happened to
;; be the name of a special variable, things could get