) (11/29/89)
i've been using CLOS since early this year, with an interesting, but unsupportd piece of code, which i've had to do maintenance on. it was actually written using PCL, and I ported it. i find a number of cases like so: (defmethod ((xxx some-class) ...) ... (setq xxx something-or-other) ...) generally, some-class is LIST or T. this yields a CWARN stating that method was assigned to XXX (or another arg) and that slot-accessors could not be correctly optimized. it turns out that the problem is that XXX is getting modified in the body. in partic, there are some destructive operations being performed on XXX, and I need to preserve the result back in XXX, and this causes the compiler to warn me. I don't know what the warning really implies--do I even care? changing it so the the arg is xxx1 and then having the first form be (setq xxx (copy xxx1)) at least eliminates the warning. there might be other solutions which are better...this one works, but it bothers me. declaring the type of xxx doesn't do it. anyway, in case you ever see it, this is probably the cause. -- clint