Serialize deserialize bug

Hi All,
I serialize this model into JSON minimal:

package FlashlightStarterModel {
package FlashlightSpecificationAndDesign {
package Actions {
action produceDirectedLight {
action provideDCPwr;
action connectDCPwr;
fork fork1;
then provideDCPwr;
then connectDCPwr;
first start then fork1;
} // package Actions
}
} // package FlashlightStarterModel
}

when I deserialize it back to text I get:

package FlashlightStarterModel {
package FlashlightSpecificationAndDesign {
package Actions {
action produceDirectedLight {
action provideDCPwr;
action connectDCPwr;
fork fork1;
then provideDCPwr;
then connectDCPwr;
first Actions::Action::start then fork1;
}
} // package Actions
} // package FlashlightSpecificationAndDesign
} // package FlashlightStarterModel

This is wrong: first Actions::Action::start then fork1;

Please advise,

Thanks,

Robert

Hi,

This happens because minimal options skip serialization of implicit specializations which includes specialization to standard Actions::Action, so start is effectively not an inherited member after deserialization. You can fix this by resolving sema again

syside.Sema().resolve(
    [document],
    index=syside.Environment.get_default().index(),
    stdlib=syside.Environment.get_default().lib,
)

I will have a look into fixing the missing global reference modifier ~::.

Fixed for the next release.