Open usev6 opened 4 hours ago
This is probably related to https://github.com/rakudo/rakudo/issues/1613.
Seems also related to https://github.com/Raku/nqp/pull/605, which introduced a VMNull
for the JVM backend. Probably that needs to be added to serialization and deserialization.
If I'm not mistaken, the following code (adjusted from
t/serialization/01-basics.t
shows that serialization+deserialization wrongly changes a class attributes with the valuenqp::null
toNQPMu
on the JVM backend:Running this code gives the following output: On MoarVM:
On the JVM:
I think that this causes different problems for Raku on the JVM backend. AFAIU compiling the setting and using it later for
rakudo-j
involves a serialization+deserialization cycle. (And I'm quite happy that I found a way to golf this to plain NQP code.)At least in one case I recently added a workaround to unbreak module loading: https://github.com/rakudo/rakudo/commit/9f41d2c61a. But I noticed more problems of this type, so we really should fix the underlying problem.
I'm trying to dig into this, but at this point it seems to make sense to have an issue as a reference.