IR checker fails to handle loading from weakref
Problem Description
The spec says that when loading from a weak reference field, the result will be a strong reference. My understanding is, if I'm loading from iref<weakref<void>>
, it should result a ref<void>
, rather than a weakref<void>
.
It seems that the static checker fails to correctly handles this conversion. So when I try to cast the loaded ref<void>
to ref<struct>
, it complains of an invalid cast.