You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
SR-257 Resilient value type support -- umbrella bug
Issue Description:
Right now, the enum value witnesses number cases so that non-payload cases come after payload cases. This means adding new payload cases is never resilient. Change the numbering so that payload cases are negative and non-payload cases are positive.
The text was updated successfully, but these errors were encountered:
Why do we separate them at all? Is it because we can use extra inhabitants? In that case, won't using negative values screw this up when there are entire spare bits?
It's better from a layout standpoint to consider all the payload cases first, figure out what extra inhabitants/spare bits you have available, then work out the tagging and non-payload representations afterward. The case numbering is arbitrary and the value witness can munge it into whatever's necessary to interact with the extra inhabitants interface. In fact, for the single-payload case, it's better to make the payload case negative since the extra inhabitant witnesses already use '-1' to mean 'not an extra inhabitant' and start numbering extra inhabitants at 0.
Additional Detail from JIRA
md5: fc0fdcd580f1385fb1acffb2d2a4341c
blocks:
Issue Description:
Right now, the enum value witnesses number cases so that non-payload cases come after payload cases. This means adding new payload cases is never resilient. Change the numbering so that payload cases are negative and non-payload cases are positive.
The text was updated successfully, but these errors were encountered: