Proto/Michelson: annotations are non-empty
Context
Annotations are non-empty strings (A), though there are several places where we match them against the empty string, which is confusing. Let's enforce (A) with types.
(A) is not actually true, there was a case in parse_constr_annot which allowed constructing empty annotations. This is now fixed.
It happened when PAIR/LEFT/RIGHT was used with the special annot %@ on a value with a var annot of the form @abc.
Prerequisite for #2025 (closed).
Manually testing the MR
CI
Checklist
-
Document the interface of any function added or modified (see the coding guidelines) [ ] Document any change to the user interface, including configuration parameters (see node configuration)-
Provide automatic testing (see the testing guide). [ ] For new features and bug fixes, add an item in the appropriate changelog (docs/protocols/alpha.rstfor the protocol and the environment, theDevelopment Versionsection ofCHANGES.mdfor everything else).-
Select suitable reviewers using the Reviewersfield below. -
Select as Assigneethe next person who should take action on that MR
Edited by Mehdi Bouaziz