[Ecls-list] And another CLOS Bug...
Pascal Costanza
pc at p-cos.net
Mon Nov 30 12:26:52 UTC 2009
Excellent, this works now!
Pascal
On 30 Nov 2009, at 12:58, Juan Jose Garcia-Ripoll wrote:
> On Mon, Nov 30, 2009 at 9:45 AM, Pascal Costanza <pc at p-cos.net> wrote:
> If I write this:
>
> (defmethod initialize-instance :around ((gf my-generic-function) &rest args)
> (declare (dynamic-extent args))
> ...)
>
> Somewhere along the lines the ECL compiler adds the following declarations:
>
> (defmethod initialize-instance :around ((gf my-generic-function) &rest args)
> (declare (type my-generic-function gf)
> (si::no-check-type gf)
> (dynamic-extent args))
> ...)
>
> At some stage, it then turns the type declaration into (type function gf), because that seems easier to check. However, the si::no-check-type declaration should prevent any type checking on the specified variable. That seems to be fine when dynamic-extent is gone, but when it's there, that doesn't seem to happen anymore.
>
> This bug is fixed in CVS now. As you suspected it was in the part of the compiler that generates automatic type checks for function arguments.
>
> Juanjo
>
> --
> Instituto de Física Fundamental, CSIC
> c/ Serrano, 113b, Madrid 28006 (Spain)
> http://juanjose.garciaripoll.googlepages.com
--
Pascal Costanza, mailto:pc at p-cos.net, http://p-cos.net
Vrije Universiteit Brussel
Software Languages Lab
Pleinlaan 2, B-1050 Brussel, Belgium
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://mailman.common-lisp.net/pipermail/ecl-devel/attachments/20091130/1bf207db/attachment.html>
More information about the ecl-devel
mailing list