Describe the Bug
We currently infer infinite types (which get loop-broken and written out as AbiType::InfiniteType) in certain cases. This is never correct in the output, and is instead a sign that we are likely not inferring things properly.
Previously this has been due to loops in usages of certain values with type constructor types, and has indicated that we are not quite correct in one or more of our inference rules.
To Reproduce
Steps to reproduce the behavior:
- Run the
shardwallet.rs test.
- Look at the expected result for slot 6.
Expected Behaviour
We do not infer infinite types in the output in situations where it should be impossible to have an infinite type.