Reported by Fran=E7ois-Ren=E9 Rideau on #lisp:
(defclass foo ()
((line-column :initform 0 :accessor stream-line-column)))
causes a symbol-package-locked error on SB-GRAY due to the implicit
FTYPE declaration on STREAM-LINE-COLUMN.
I can fix this in three ways:
* Disable package locks for the implicit declaration. Good: no semantic
changes, very simple fix. Bad: misses real violations.
* Don't do the declaration if an identical one already exists. Good: no
semantic changes, catches the "real" violations. Bad: wrong locality.
* When checking proclamations and declarations for package-lock
violations skip those that match old ones. Good: user-friendly,
catches "real" violations, locality of the change is right. Bad:
semantic change to package locks.
Unless there are strong feelings to the contrary I'm going to go with the=
-- Nikodemus Schemer: "Buddha is small, clean, and serious=
Lispnik: "Buddha is big, has hairy armpits, and laughs=