Walter C. Pelissero wrote:
I just stumbled in something that doesn't look quite right to me.
Under 19E the following is legal code:
(defmethod foo (x)
x)
(defmethod bar (x)
(flet ((foo (a)
(declare (ignore a))))
(foo)))
while I'd expect a warning for the missing argument in the call of
FOO. On the other hand the following code does produce a warning in
the call of FOO2 (missing argument):
(defmethod foo2 (x)
x)
(defmethod bar2 (x)
(flet ((foo2 ()))
(foo2)))
SBCL doesn't show this behaviour.
Thanks for the report. I don't understand PCL at all, but as best as I
can tell, it seems the compiler is a bit confused and doesn't think that
foo2 is a local function. Not really sure, though.
More investigation needed.
Ray