abi2specs: `ABI_` prefixing can be overzealous
livnev opened this issue · comments
livnev commented
@mhhf : abi2specs
is running a find and replace on the names of ABI arguments to add ABI_
. This is a problem when the name is a substring of some unrelated syntactical entity. For instance:
behaviour fold of Vat
interface fold(bytes32 ilk, bytes32 vow, int256 rate)
...
ends up with a mangled storage block:
<storage>
#Vat.wards(CALLER_ID) |-> (Can)
#Vat.ilks(ABI_ilk).ABI_rate |-> (Rate => _ )
#Vat.ilks(ABI_ilk).Art |-> (Art_i)
#Vat.dai(ABI_vow) |-> (Dai => _ )
#Vat.debt |-> (Debt => _ )
_:Map
</storage>
note the #Vat.ilks(ABI_ilk).ABI_rate
, which should be just #Vat.ilks(ABI_ilk).rate
. #Vat.ilks( Int ).rate
is a syntax unrelated to the ABI argument.