scope test_structure_customSerializer sclass #X { settable int i; // _serialize can now return this to request standard serialization O _serialize() { ret i < 0 ? this : i; } static X _deserialize(O o) { ret new X().i((int) o); } [stdEq] } svoid test_structure_customSerializer() { X x = new X().i(5); S s = struct(x); S nameOfX = shortClassName(X); assertEqualsVerbose("cu " + nameOfX + " 5", s); assertEqualsVerbose(x, unstructure(s)); x = new X().i(-5); s = print(struct(x)); assertEqualsVerbose(x, unstructure(s)); }