Relax Fn
trait bounds in Command
& Action
#1409
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.
In my practical use, I found that many methods in
Command
andAction
requires a strictFn
trait bound (and even more like'static
andClone
), which troubled me a lot. I think in some case such strict restrictions is no need.In this PR, I tried my best to relax these restrictions. At least for me, it was very helpful. Hope it can help more friends working around async.
BTW, I notice that the different types of
Action
and whetherCommand
contains only oneAction
can affect the minimal restriction. Maybe we can introduce more methods such asmap_single
,map_future
, etc. to make it more easy while mappingCommand
andAction
.