This is verly likely wrong: not all PMCs have to implement assign:
<Dan>: That's why the destination controls assignment.
Additionaly we can't assign to singletons or r/o PMCs.
So the right thing for the logical functions seems to be, to just return
the left or right side according to their boolean value (or return a new
Boolean false in case of xor), i.e. you get a reference to one of the
This would break a few tests, which don't cope with these ref semantics.
This sounds good to me.
Done, rev 8061
* logical ops C<or>, C<and>, C<xor> return the left or right PMC
* C<xor> may return a new scalar, which is set to VTABLE_set_bool(..,0)
(this is more a short term hack until we have HLL type mappings)
* This invalidates current bytecode as the MMD function numbers did change
Please make realclean; ...