SV * _copy( SV * arg_obj, SV * second, SV * third ) {
Number * num_obj;
SV * obj_ref, * obj;
printf( "_copy:%p %p %p\n", arg_obj, second, third );
...
SV * _set_from_existing( SV * arg_obj ) {
Number * num_obj;
SV * obj_ref, * obj;
printf( "_set::%p\n", arg_obj );
...
####
Finished Build Compile Stage
_set::0185E260
555
113
Destroying ...... destroyed
Destroying ...... destroyed
####
$$num1 = Grief::new( 113 );
$num2 = $num1; # Assign using _copy( )
$num3 = _set_from_existing( $num1 ); # Assign using _set_from_existing( )
_set_val( $num1, 555 );
print _get_val( $num2 ),"\n", _get_val( $num3 ), "\n";
__END__