(re-370) Restrict FAILWITH to packable types
Re-open of !370 (merged) because it was merged too soon, just before a force-push of proto-proposal
FAILWITH
uses unparse_data
which is supposed to be defined only on packable types (hence nomadic-labs/tezos#27 and !146 (merged) for big maps).
Currently only big maps and operations are not packable. It doesn't make sense to fail with them, right? So let's forbid it.
008-must: We also don't want to allow FAILWITH
on sapling state, this allows to not care about carbonating state diff encoding.
I expect some tests to fail, those that were checking the internal representation of big maps, using FAILWITH
, those tests should be rewritten, we still need to test this internal representation, which is still visible in the trace mode I think.