At the moment, when we generate a default for SharedString in rbx_binary, we neglect to add it to the pool of strings that are serialized into an SSTR chunk. This is a problem in of itself, but it also causes our PROP serialization to panic because it directly indexes into a hashmap, assuming this can't happen.
This PR fixes both. We now add the default SharedString to the pool when we generate it, and also emit a proper panic message when a value is not present in the case a bug of this sort crops up again.
Also, I changed a debug log that was spamming the output during serialization because it logged the debug of the entire TypeInfos structure. SharedStringHash now implements Display as well.
At the moment, when we generate a default for SharedString in rbx_binary, we neglect to add it to the pool of strings that are serialized into an SSTR chunk. This is a problem in of itself, but it also causes our PROP serialization to panic because it directly indexes into a hashmap, assuming this can't happen.
This PR fixes both. We now add the default SharedString to the pool when we generate it, and also emit a proper panic message when a value is not present in the case a bug of this sort crops up again.
Also, I changed a debug log that was spamming the output during serialization because it logged the debug of the entire
TypeInfos
structure.SharedStringHash
now implementsDisplay
as well.