fix: workaround for dfinity/candid#273 #323
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
With a little elbow grease we can even get around
Func
's limitations.Introduces a new type
HttpRequestStreamingCallback
which properly serializes/deserializes callbacks of the form:callback : (Token) -> (StreamingCallbackHttpResponse) query;
We use
ArgToken
(which returnsType::Empty
fromty
) for the abstract form, because arguments subtype in the opposite direction so:callback : (Empty) -> (StreamingCallbackHttpResponse<Reserved>) query;
Will match without knowing what the
Token
contents are.