You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Capabilities are not encoded at runtime. A union of two types, with differing capabilities, but the same types otherwise, cannot at runtime "determine" what reference was assigned to it.
As a result, when pattern matching, the following should return false, not true:
var x: A ref = A(...)
var y: (A ref | A tag) = x
match y
| var z: A ref => true
else
false
end
In other words, a union that contains the same "base type" with two different capabilities can only make the weaker guarantee.
The text was updated successfully, but these errors were encountered:
Capabilities are not encoded at runtime. A union of two types, with differing capabilities, but the same types otherwise, cannot at runtime "determine" what reference was assigned to it.
As a result, when pattern matching, the following should return false, not true:
In other words, a union that contains the same "base type" with two different capabilities can only make the weaker guarantee.
The text was updated successfully, but these errors were encountered: