While I do not think it can ever be conclusively eliminated, there are some fairly recognizable cases in which we infer the tail of a packed encoding as being used where it is actually not. We want to eliminate these cases as much as possible.
To Reproduce
Steps to reproduce the behavior:
Run the house.rs integration test
Look at the assertion for slot number 25.
See that it infers it as struct(number8, bytes31) where it should just be some type equivalent to bool.
Expected Behaviour
We do better about not returning unused tails in packed encodings.
Describe the Bug
While I do not think it can ever be conclusively eliminated, there are some fairly recognizable cases in which we infer the tail of a packed encoding as being used where it is actually not. We want to eliminate these cases as much as possible.
To Reproduce
Steps to reproduce the behavior:
house.rs
integration teststruct(number8, bytes31)
where it should just be some type equivalent tobool
.Expected Behaviour
We do better about not returning unused tails in packed encodings.