Humility currently assumes that any enum discriminant can be represented as a u64. This isn't at all true, and in fact fails for common Rust types. See #468 for more details.
This fixes it to handle basic cases of signed enum variants. It's entirely possible that some places in Humility still won't handle them correctly, because logic for loading the enum discriminator isn't reliably centralized in one place, and I may have missed cases.
Humility currently assumes that any enum discriminant can be represented as a u64. This isn't at all true, and in fact fails for common Rust types. See #468 for more details.
This fixes it to handle basic cases of signed enum variants. It's entirely possible that some places in Humility still won't handle them correctly, because logic for loading the enum discriminator isn't reliably centralized in one place, and I may have missed cases.
Fixes #468.