missing Remotable and PassByRef types
The description is correct but its type is aliased to Passable (which is wrong). Moreover since Passable is any, Passable is any.
https://github.com/endojs/endo/blob/686ab61802c0e5206b14f4b91d499e3873555cd4/packages/pass-style/src/types.js#L20-L74
https://docs.agoric.com/guides/js-programming/far.html
Remotable = Far object or local presence for a Far object (can be done with a tag b/c only Far() and unserialize return it)
PassByCopy needs a def.
PureData is deeply PassByCopy. (currently Passable/any)
PassByRef = Remotable | Promise<Remotable> | Promise<PassByCopy> (in snippet as PassableCap)
Passable = PassByRef | PassByCopy (but probably not feasible to fully define)
@gibson042 points out adjustments may be needed for error handling
PassByCopy !== PureData
PassByCopy is shallow. PureData is deeply PassByCopy. harden([Far('x',{})]) is a PassByCopy CopyArray, but is not PureData because it contains a Remotable.
@gibson042 points out adjustments may be needed for error handling
Points out where? Or what?
Remotable = Far object or local presence for a Far object (can be done with a tag b/c only Far() and serialize return it)
Did you mean "unserialize"?
PassByRef = Remotable | Promise | Promise (in snippet as PassableCap)
What does the third disjunct mean?
For context, this issue body was from a huddle (@gibson042, @dckc and me)
PassByCopy !== PureData
Thanks. I've updated the body.
Points out where? Or what?
It was merely a verbal statement like "adjustments may be needed for error handling" (paraphrase)
Did you mean "unserialize"?
Yes, corrected.
What does the third disjunct mean?
Markdown interpreted the <> as HTML tag. I've now wrapped in backticks.
What’s the status of this change?
What’s the status of this change?
This is an issue so no changes have yet been made.
I'd still like to see this problem solved. The any cropped up for me again in https://github.com/endojs/endo/pull/1928 just now.
I'll see if I can make some progress today
Wondering if this is linked, and possibly was worked around by the manual type generation step before publish
Decided this is high priority in the endo project meeting cc @turadg