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