-
Notifications
You must be signed in to change notification settings - Fork 74
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
assertKeyPattern(M.kind("null"))
fails with "null keys are not supported")
#1489
Comments
First, on the narrow issue:
Looks like a bug to me. @FUDCo , |
On the broader issue:
I initially felt very uncomfortable with this, and included a TODO or similar comment warning that we really need to revisit this mixing of namespaces. Since then, I have become more comfortable with it for reasons I can explain, and I know of no alternative I'd like better. We should certainly talk about it, and see if we can invent something better that I missed. |
The name "passStyleOrRecordTag" should certainly be changed, as it no longer reflects how I think of the kind taxonomy. |
M.kind(passStyleOrRecordTag)
assertKeyPattern(M.kind("null"))
fails with "null keys are not supported")
There is no But @gibson042 , I owe you an explanation of the "kind" namespace, and why I became comfortable with it. Let's talk. |
Fixed by Agoric/agoric-sdk#7035 |
I observed when exploring Agoric/agoric-sdk#6903 (comment) that a
'null'
case appears to be missing from matchKindHelper'scheckKeyPattern
(e.g.,matches(undefined, M.kind("undefined"))
andmatches(null, M.kind("null"))
are both true, butassertKeyPattern(M.kind("undefined"))
passes whileassertKeyPattern(M.kind("null"))
fails with "null keys are not supported"), but then realized thatkind
has no documentation and its purpose isn't quite clear. Do we really want to be conflating passStyleOf results with tagged record tags, and if so then which of them count as "key" patterns and which do not?The text was updated successfully, but these errors were encountered: