Dispatcher to handle anon func returned in closure #27
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.
Take this higher order function that returns an anonymous function:
We can now register with dispatcher like so:
That's because the anon function is named in go as
ReturnAnonFunc.func1
. So, we can use theReturnAnonFunc
part of the anonymous function name in order to dispatch the correct function at runtime.This means we can have one anonymous function per high-order function. Meaning, the dispatcher cannot disambiguate between:
Therefore, if the user tries to record more than one anon functions from the same higher-order function, the dispatcher will panic.