1.0.13.47: spurious INLINE declaration for (SETF FOO) from typed DEFSTRUCT
authorNikodemus Siivola <nikodemus@random-state.net>
Mon, 21 Jan 2008 14:41:57 +0000 (14:41 +0000)
committerNikodemus Siivola <nikodemus@random-state.net>
Mon, 21 Jan 2008 14:41:57 +0000 (14:41 +0000)
 * Thanks to David Smith.

src/code/defstruct.lisp
version.lisp-expr

index 0fb2b36..26b5058 100644 (file)
           (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
index 1b3faf9..5d6dd30 100644 (file)
@@ -17,4 +17,4 @@
 ;;; checkins which aren't released. (And occasionally for internal
 ;;; versions, especially for internal versions off the main CVS
 ;;; branch, it gets hairier, e.g. "0.pre7.14.flaky4.13".)
-"1.0.13.46"
+"1.0.13.47"