Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Support no_std targets #1087

Open
bootstrap-prime opened this issue Jul 22, 2022 · 3 comments
Open

Support no_std targets #1087

bootstrap-prime opened this issue Jul 22, 2022 · 3 comments
Labels
enhancement Improvement of existing features or bugfix

Comments

@bootstrap-prime
Copy link

Is your feature request related to a problem? Please describe.
I'm developing on an embedded bare metal target, and something I've wanted for a while is a self-describing protocol with introspection. A UI app could use it to autogenerate a UI, and significantly reduce the maintenance burden around configuration of various gadgets. GraphQL seems like a great fit, with it's introspection and transport-agnosticism. A gadget could have a graphql server available over a bluetooth or usb serial transport, and you could interact with that and set/get variables. GraphQL doesn't technically have a dependency on js or other web tech, and so it could be used bare-metal. However, Juniper does not currently support no_std targets.

Describe the solution you'd like
It would be nice if juniper supported a minimal implementation (single client, no async, no alloc if possible) on no_std targets.

@bootstrap-prime bootstrap-prime added the enhancement Improvement of existing features or bugfix label Jul 22, 2022
@tyranron
Copy link
Member

@bootstrap-prime does no_std here implies no alloc? If so, that's not possible, unfortunately. Not until Rust lands real async traits. We do quite a lot of boxing inside the machinery, mostly because of traits doesn't support async, but also for some other concerns too.

@tyranron
Copy link
Member

Maybe, only the sync resolution may clink. But this still should be investigated.

@bootstrap-prime
Copy link
Author

It would be nice if no_std no-alloc were possible, but it isn't necessarily required. bare-metal targets can bring their own allocator to be alloc and no_std.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement Improvement of existing features or bugfix
Projects
None yet
Development

No branches or pull requests

2 participants