Skip to content

Support build on wasm32 #1146

New issue

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

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

Already on GitHub? # to your account

Open
wants to merge 1 commit into
base: master
Choose a base branch
from
Open

Conversation

L-jasmine
Copy link

In this line, the parameter KeepaliveConfig is ignored when compiled to wasm32, while there is no corresponding conditional compilation elsewhere. Therefore, I added a conditional compilation for wasm32 in the places where Keepalive is needed. This modification allows the crate to be used normally in wasm32 after replacing the underlying tokio with a patch.

@sfackler
Copy link
Owner

sfackler commented Jun 3, 2024

We already test that the crate compiles against wasm32: https://github.com/sfackler/rust-postgres/blob/master/.github/workflows/ci.yml#L50-L75.

If tokio gains direct wasm32 support I'd be happy to expand the supported feature set here, but I don't want to make changes that only work when building against an unspecified tokio fork.

@L-jasmine
Copy link
Author

This is not specific to a particular tokio; it’s just that this crate does not define KeepaliveConfig in wasm32. I’ve ignored all references to KeepaliveConfig in wasm32, and I believe these changes are reasonable.

@sfackler
Copy link
Owner

sfackler commented Jun 3, 2024

The runtime Cargo feature is not supported on wasm32 at this time, and can't be without changes to tokio.

@L-jasmine
Copy link
Author

I am pretty sure that my changes work with standard tokio. Your CI still passes with this PR.

Signed-off-by: csh <458761603@qq.com>
# for free to join this conversation on GitHub. Already have an account? # to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants