Emit type arguments for generic structs/enums in the JSON ABI file and update the function selector to include those type arguments #1993
Labels
ABI
Everything to do the ABI, especially the JSON representation
compiler: frontend
Everything to do with type checking, control flow analysis, and everything between parsing and IRgen
This is needed to support
Vec<T>
in the ABI. The structVec
does not have data fields that actually use the typeT
. Therefore, the ABI won't currently have that type information that is needed by the SDK. This needs to change. Spec changes to be made as well once we're done spec-ing this out.Note that unresolved generic types in the ABI are not allowed. However, something like this is allowed:
We may also need to update the function selector to include the type information above. This is probably needed to be consistent with how we handle non-generic types.
Vec<u64>
is a totally different type fromVec<bool>
.The text was updated successfully, but these errors were encountered: