(edge-http) Server non-static handler #40
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.
(
This change is long overdue and I was delaying it in the (now lost) hope that eventually, the server
Handler
can become compatible with the nightlyAsyncFn
closures.Well, it cannot, and there is no way it could, because
AsyncFn
closures - just like regular ones - cannot be generic over their parameters, which is a road blocker.If it is not clear, our handler needs to be generic over the socket type
T
, and I don't see any way around that.)
Putting aside this ^^^ topic, what this PR does is to move the generics (including the problematic
'b
lifetime generic) to theHandler::handle
method, instead of having these on theHandler
trait itself.This is necessary, or else - as is the case in the current code - we need at a few places to put
for<'t>
type constraints - which - rather than having the desired effect of "for any lifetime" are instead seemingly ending up requiring the lifetime to be equal to'static
.I'm not sure, but I think this might be another occurrence of this problem.
The PR is much noisier as it also contains a change to suppress the Clippy complaints for us using an unnecessary named lifetime parameter
'b
where we can get-by with just'_
.