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


Reply via email to