-
Notifications
You must be signed in to change notification settings - Fork 71
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
deeplyFulfilled erases type information #1257
Comments
This week I sort of got bit by this. The type-safe alternative, https://github.com/Agoric/agoric-sdk/pull/6774/commits/eb26cb200f2c68d8a636380c871090fe4468f67fb3 part of: |
Not directly relevant, but worth linking to: Agoric/agoric-sdk#6816 |
May be solved by bringing these types over from sdk, https://github.com/Agoric/agoric-sdk/blob/master/packages/internal/src/utils.js#L160-L168 |
Would #1933 address this issue? |
No, because the return type still widens to |
https://github.com/endojs/endo/blob/master/packages/marshal/src/deeplyFulfilled.js#L36-L39
https://github.com/endojs/endo/blob/master/packages/marshal/src/types.js#L26
Because
Passable
is any, the type passed intodeeplyFulfilled
gets erased. The decision to adopt baredeeplyFulfilled
in Agoric/agoric-sdk@a8db354 has erased type information there. Example impact: I just had a CI failure from a refactoring that the types would have alerted me to.The text was updated successfully, but these errors were encountered: