Commit 0955c52
Add wasm32-wasip2 target support (#639)
Rework of #532, addressing review feedback:
- Reuses sys/unix.rs instead of creating sys/wasi.rs (per code review feedback)
- MaybeUninitSlice stays unconditional since libc::iovec is available on WASI,
eliminating 11+ scattered cfg gates
- Internal cfg changes concentrated in the sys module
Opt-in cfg patterns use `all(target_os = "wasi", not(target_env = "p1"))`
to match how the libc crate gates WASI p2 socket support. Opt-out
patterns use bare `target_os = "wasi"` for features unavailable on any
WASI version.
WASI tests run in CI with wasmtime (27/27 pass). Tests for unsupported
socket options are gated out with references to the relevant WASI spec
issues (SO_BROADCAST, SO_LINGER, IPV6_V6ONLY).
```bash
export CARGO_TARGET_WASM32_WASIP2_RUNNER="wasmtime --wasi inherit-network"
cargo test --target wasm32-wasip2 --lib --tests
```
Closes #268
Based-on: #532
Co-authored-by: Nicola Krumschmidt <git@nkcom.de>1 parent 1a24057 commit 0955c52
File tree
8 files changed
+257
-114
lines changed- .github/workflows
- src
- sys
- tests
8 files changed
+257
-114
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
105 | 105 | | |
106 | 106 | | |
107 | 107 | | |
| 108 | + | |
108 | 109 | | |
109 | 110 | | |
110 | 111 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
49 | 49 | | |
50 | 50 | | |
51 | 51 | | |
52 | | - | |
| 52 | + | |
53 | 53 | | |
54 | 54 | | |
55 | 55 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
61 | 61 | | |
62 | 62 | | |
63 | 63 | | |
64 | | - | |
| 64 | + | |
65 | 65 | | |
66 | | - | |
| 66 | + | |
67 | 67 | | |
68 | | - | |
| 68 | + | |
69 | 69 | | |
70 | 70 | | |
71 | 71 | | |
| |||
109 | 109 | | |
110 | 110 | | |
111 | 111 | | |
112 | | - | |
| 112 | + | |
113 | 113 | | |
114 | 114 | | |
115 | 115 | | |
| |||
176 | 176 | | |
177 | 177 | | |
178 | 178 | | |
179 | | - | |
| 179 | + | |
| 180 | + | |
| 181 | + | |
| 182 | + | |
180 | 183 | | |
181 | 184 | | |
182 | 185 | | |
183 | | - | |
| 186 | + | |
184 | 187 | | |
185 | 188 | | |
186 | 189 | | |
| |||
192 | 195 | | |
193 | 196 | | |
194 | 197 | | |
| 198 | + | |
195 | 199 | | |
196 | 200 | | |
197 | 201 | | |
| |||
221 | 225 | | |
222 | 226 | | |
223 | 227 | | |
| 228 | + | |
224 | 229 | | |
225 | 230 | | |
226 | 231 | | |
| |||
274 | 279 | | |
275 | 280 | | |
276 | 281 | | |
277 | | - | |
| 282 | + | |
278 | 283 | | |
279 | 284 | | |
280 | 285 | | |
281 | | - | |
| 286 | + | |
| 287 | + | |
| 288 | + | |
| 289 | + | |
282 | 290 | | |
283 | 291 | | |
284 | 292 | | |
| |||
306 | 314 | | |
307 | 315 | | |
308 | 316 | | |
| 317 | + | |
309 | 318 | | |
310 | 319 | | |
311 | 320 | | |
| 321 | + | |
312 | 322 | | |
313 | 323 | | |
314 | 324 | | |
| |||
361 | 371 | | |
362 | 372 | | |
363 | 373 | | |
364 | | - | |
| 374 | + | |
365 | 375 | | |
366 | 376 | | |
367 | 377 | | |
368 | | - | |
| 378 | + | |
369 | 379 | | |
370 | 380 | | |
371 | 381 | | |
| |||
518 | 528 | | |
519 | 529 | | |
520 | 530 | | |
| 531 | + | |
521 | 532 | | |
522 | 533 | | |
523 | 534 | | |
| |||
547 | 558 | | |
548 | 559 | | |
549 | 560 | | |
| 561 | + | |
550 | 562 | | |
551 | 563 | | |
552 | 564 | | |
| |||
561 | 573 | | |
562 | 574 | | |
563 | 575 | | |
564 | | - | |
| 576 | + | |
565 | 577 | | |
566 | 578 | | |
567 | 579 | | |
568 | 580 | | |
569 | 581 | | |
570 | 582 | | |
571 | 583 | | |
572 | | - | |
| 584 | + | |
573 | 585 | | |
574 | 586 | | |
575 | 587 | | |
| |||
619 | 631 | | |
620 | 632 | | |
621 | 633 | | |
622 | | - | |
| 634 | + | |
623 | 635 | | |
624 | 636 | | |
625 | 637 | | |
| |||
630 | 642 | | |
631 | 643 | | |
632 | 644 | | |
633 | | - | |
| 645 | + | |
634 | 646 | | |
635 | 647 | | |
636 | 648 | | |
| |||
642 | 654 | | |
643 | 655 | | |
644 | 656 | | |
645 | | - | |
| 657 | + | |
646 | 658 | | |
647 | 659 | | |
648 | 660 | | |
| |||
697 | 709 | | |
698 | 710 | | |
699 | 711 | | |
700 | | - | |
| 712 | + | |
701 | 713 | | |
702 | 714 | | |
703 | 715 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1 | 1 | | |
2 | 2 | | |
3 | 3 | | |
| 4 | + | |
4 | 5 | | |
5 | 6 | | |
6 | 7 | | |
7 | 8 | | |
8 | 9 | | |
9 | 10 | | |
10 | | - | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
11 | 14 | | |
12 | 15 | | |
13 | 16 | | |
| |||
212 | 215 | | |
213 | 216 | | |
214 | 217 | | |
| 218 | + | |
215 | 219 | | |
216 | 220 | | |
217 | 221 | | |
| |||
269 | 273 | | |
270 | 274 | | |
271 | 275 | | |
| 276 | + | |
272 | 277 | | |
273 | 278 | | |
274 | 279 | | |
| |||
293 | 298 | | |
294 | 299 | | |
295 | 300 | | |
296 | | - | |
| 301 | + | |
297 | 302 | | |
298 | 303 | | |
299 | 304 | | |
| |||
350 | 355 | | |
351 | 356 | | |
352 | 357 | | |
353 | | - | |
| 358 | + | |
| 359 | + | |
| 360 | + | |
| 361 | + | |
354 | 362 | | |
355 | 363 | | |
356 | 364 | | |
| |||
385 | 393 | | |
386 | 394 | | |
387 | 395 | | |
388 | | - | |
| 396 | + | |
389 | 397 | | |
390 | 398 | | |
391 | 399 | | |
| |||
469 | 477 | | |
470 | 478 | | |
471 | 479 | | |
| 480 | + | |
472 | 481 | | |
473 | 482 | | |
474 | 483 | | |
| |||
483 | 492 | | |
484 | 493 | | |
485 | 494 | | |
486 | | - | |
| 495 | + | |
487 | 496 | | |
488 | 497 | | |
489 | 498 | | |
| |||
497 | 506 | | |
498 | 507 | | |
499 | 508 | | |
| 509 | + | |
500 | 510 | | |
501 | 511 | | |
502 | 512 | | |
| |||
511 | 521 | | |
512 | 522 | | |
513 | 523 | | |
514 | | - | |
| 524 | + | |
515 | 525 | | |
516 | 526 | | |
517 | 527 | | |
| |||
0 commit comments