no-std
compatiblity for underlying traits
#810
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.
Hi there,
First of all, thank you for Tower. So many cool projects have come from it!
To be clear: this PR does not make the main
tower
crate, nor its Filter, Make, Steer, etc.no_std
compatible. This is not the goal, nor do I expect this from thetower
team.I'd like to be able to use the base
tower-service
andtower-layer
crates in an embedded context—in this case, one which does not have a standard library. While the code intower-layer
andtower-service
are simple (and permissively licensed enough) to just copy over, it'd be nice to share in the ecosystem, and occasionally publish reusableno_std
compatible services when I can.This PR:
tower-service
andtower-layer
no_std
compatible,std
feature totower-service
in order to optionally link the externalalloc
crate for theBox
implementation, andtower-layer
no_std
compatible unconditionally, as it does not depend on anyalloc
features.Please let me know if this is something you'd consider.