fix: fix overly broad tuple type check #1315
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Description
While debugging an issue for a grantee, I noticed that
is_tuple_type()
was causing the unit type (()
) to not be included as part of the hash table keeps track of types in a contract ABI. After fixing that, I noticed that we needed to add a unit type check tois_nondecodable_type()
so that we do not create a decoder for it.Testing steps
On develop:
cargo build -p forc-index
fuel-indexer-utils
dependency to use the local package (make sure you're still ondevelop
).cargo build
The build should fail with the error:
message: Could not derive TypeApplication param types.: InvalidData("type id 0 not found in type lookup")
.On this branch:
cargo build
again.The indexer should successfully build.
Changelog
Notes
The ABI included above was generated for the following Sway contract using Sway v0.45: