At 3:43 PM +0000 2/13/02, Dave Mitchell wrote:
>Dan Sugalski <[EMAIL PROTECTED]> wrote:
>>  >So in the following:
>>  >
>>  >my Complex $c = 3+4i;
>>  >my $plain = 1.1;
>>  >$plain = $c;
>>  >
>>  >I presume that $plain ends up as type Complex (with value 3+4i)?
>>
>>  Yup.
>>
>>  >If so, how does $plain know how to "morph itself into the RHS's type"?
>>
>>  The general rule is: If a PMC is not a fixed type, it tosses its
>>  contents and becomes whatever's assigned to it. If it is a fixed
>>  type, it extracts what it can as best it can from the source and uses
>>  that.
>
>Thanks.
>I just want to assert/clarify that the job of "becoming whatever's
>assigned to it" is delegated to the src PMC, since $plain won't itself know
>how to do this?

Sort of--delegated to the source PMC's vtable in parts. The sequence goes:

    Destination PMC calls its own destructor, if it has one
    Destination PMC calls clone on the source PMC, passing itself in 
as the PMC to be cloned into.
-- 
                                         Dan

--------------------------------------"it's like this"-------------------
Dan Sugalski                          even samurai
[EMAIL PROTECTED]                         have teddy bears and even
                                       teddy bears get drunk

Reply via email to