Changes:
- Debug messages provide more detail on proxy objects.
debug(7 | 15);
$object = newInstance(^List, {});
Trace: &newInstance(interface java.util.List, &closure[eval:2]#1) =
[&closure[eval:2]#1 as java.util.List] at eval:2
- Ordered hashes no longer serialize their miss and remove policies.
This is a bit of a lie actually. Ordered hashes used to serialize
their policies except the policies would serialize without a
reference to the script environment. Given the way they are buried,
they never get a new script environment reference, and they cause all
kinds of exceptions when called after deserialization.
- Fixed an inadvertent shared reference issue with values from
ordered hash policies. Try this out in the current version of Sleep:
$default = 42;
%hash = ohash();
setMissPolicy(%hash, lambda({ return $default; }, \$default));
%hash["uh"] += 4;
%hash["eh"] += 7;
println(%hash);
%(uh => 46, eh => 49)
(before it was: %(uh => 53, eh => 53))
- Cast function can now create empty arrays.
- Sleep can now access object fields declared in a parent class.
-- Raphael