The .setSelf() method on functions returned by Catspeak.compileGML() uses is_struct() to verify whether the provided target is valid (when CATSPEAK_DEBUG_MODE is set to true). Unfortunately, is_struct() returns false if passed an instance struct which then causes .setSelf() to error out despite an instance struct being a valid target.
Issue is easy enough to repro. Ensure CATSPEAK_DEBUG_MODE is set to true and then execute the following in the scope of an object instance:
The
.setSelf()
method on functions returned byCatspeak.compileGML()
usesis_struct()
to verify whether the provided target is valid (whenCATSPEAK_DEBUG_MODE
is set totrue
). Unfortunately,is_struct()
returnsfalse
if passed an instance struct which then causes.setSelf()
to error out despite an instance struct being a valid target.Issue is easy enough to repro. Ensure
CATSPEAK_DEBUG_MODE
is set totrue
and then execute the following in the scope of an object instance:I'm testing on
IDE v2022.0.0.19 Runtime v2022.0.0.12
so thisis_struct()
behaviour might have changed in newer versions.