<html><body>
<p><tt>Gustaf Neumann &lt;neumann@wu-wien.ac.at&gt; wrote on 05/08/2006 02:15:41 PM:<br>
<br>
&gt; <br>
&gt; &gt; BTW, this will happen with any method, not just &quot;destroy&quot;. <br>
&gt; &gt;<br>
&gt; i know.<br>
&gt; &gt;<br>
&gt; &gt; Is it not considered acceptable to ever remove a mixin class? &nbsp;<br>
&gt; &gt;<br>
&gt; &gt; When is it valid to remove a mixin if removing it corrupts the method <br>
&gt; &gt; chaining? <br>
&gt; &gt;<br>
&gt; <br>
&gt; removing a mixin class from the mixin list does not &quot;corrupt&quot; the chain <br>
&gt; in the sense that there<br>
&gt; is a memory corruption etc. The current implementation does not allow to <br>
&gt; remove<br>
&gt; ***active*** mixin classes, this are the classes of which the method is <br>
&gt; currently executing.<br>
</tt><br>
<tt>I did a little more experimenting, and it's a little stronger than that. &nbsp;You also can't remove a mixin from anything invoked by the active mixin. I.e., you can't forward the &quot;mixin delete&quot; to an object of another class. &nbsp;If the mixin to be deleted is present in the call stack, it appears that the mixin can't be deleted. Not that I expected it to work, but it seems worth noting.</tt><br>
<br>
<tt>&gt; It looks quite easy to give a reasonable error message, when the <br>
&gt; currently active<br>
&gt; mixin class is deleted, it will be more expensive to handle this problem in<br>
&gt; a friendly way.<br>
</tt><br>
<tt>Is the expense something that would be encountered on every method invocation, or would it only be paid when deleting a mixin?</tt><br>
<br>
<tt>I really ought to spend some time with the source...</tt><br>
<br>
<tt>        Scott</tt></body></html>