support private funcs in wrap-generic #1310
Merged
+26
−3
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.
Similar to #1309, support
func.call
inwrap-generic
.This supports the type-conversion part of
wrap-generic
for an external function def, as well as supporting a non-{secret.secret}
external func which is called inside a func that is wrap-generic'ed.One thing this doesn't support yet is handling an external func that is annotated as secret, that is also called from a func that is annotated as secret. This will produce an error because it will put the
func.call
in asecret.generic
while the func is type-converted to have secret operands and results.If we need this (followup work), which I'm not sure we do, we would have to have
wrap-generic
split thegeneric
op at the func.call site, or else defer the conversion of the external signature tosecret-to-scheme
, which is how we will handle the case (supported by this PR) where the external func is not annotated with secret.secret