Commit 3cae985
authored
Host-wasmtime-rust: import functions are able to Trap execution (#388)
* drop `branch = "main"` from wasmtime git dep
this is implied since main is the default branch, and means that in other places
that depend on the default branch, the wasmtime brought in by these
crates is not the same dependency
additionally, drop the dep on wasmtime-wasi altogether, it is not used.
* wit-bindgen-cli: parse out name from before first `.` in filename
to handle `*.wit.md` files correctly.
* add a runtime test to see what codegen for result types looks like
* track when types appear in the error position, and impl std::error::Error on them
* std Error impls plus the From into wit_bindgen_host_wasmtime_rust::Error
* limit the special case of errors
just to functions with a single result which is a result<a, e> and e is
a defined type. This ensures we can generate the std::error::Error impl
for those types, otherwise we cant wrap them up into an anyhow::Error.
* every import func gets the opportunity to trap
* test trapping behavior works as intended
* exercise some ways to go about trapping a bit more
* fix ci
* comment1 parent 0968716 commit 3cae985
21 files changed
Lines changed: 718 additions & 197 deletions
File tree
- crates
- bindgen-core/src
- gen-host-wasmtime-rust
- src
- tests
- gen-rust-lib/src
- host-wasmtime-rust/src
- test-rust-wasm
- src/bin
- tests/runtime
- flavorful
- invalid
- lists
- many_arguments
- numbers
- records
- results
- smoke
- unions
- variants
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
169 | 169 | | |
170 | 170 | | |
171 | 171 | | |
172 | | - | |
| 172 | + | |
173 | 173 | | |
174 | 174 | | |
175 | 175 | | |
| |||
179 | 179 | | |
180 | 180 | | |
181 | 181 | | |
| 182 | + | |
| 183 | + | |
| 184 | + | |
| 185 | + | |
182 | 186 | | |
183 | 187 | | |
184 | 188 | | |
| |||
187 | 191 | | |
188 | 192 | | |
189 | 193 | | |
| 194 | + | |
190 | 195 | | |
191 | 196 | | |
192 | 197 | | |
| |||
198 | 203 | | |
199 | 204 | | |
200 | 205 | | |
201 | | - | |
| 206 | + | |
202 | 207 | | |
203 | 208 | | |
204 | | - | |
| 209 | + | |
205 | 210 | | |
206 | 211 | | |
207 | 212 | | |
| |||
281 | 286 | | |
282 | 287 | | |
283 | 288 | | |
284 | | - | |
| 289 | + | |
| 290 | + | |
| 291 | + | |
| 292 | + | |
| 293 | + | |
| 294 | + | |
| 295 | + | |
| 296 | + | |
285 | 297 | | |
286 | 298 | | |
287 | 299 | | |
288 | | - | |
| 300 | + | |
289 | 301 | | |
290 | 302 | | |
291 | 303 | | |
292 | 304 | | |
293 | | - | |
| 305 | + | |
294 | 306 | | |
295 | 307 | | |
296 | 308 | | |
297 | 309 | | |
298 | 310 | | |
299 | 311 | | |
300 | | - | |
| 312 | + | |
301 | 313 | | |
302 | 314 | | |
303 | 315 | | |
304 | | - | |
| 316 | + | |
305 | 317 | | |
306 | 318 | | |
307 | | - | |
308 | | - | |
| 319 | + | |
| 320 | + | |
309 | 321 | | |
310 | 322 | | |
311 | 323 | | |
312 | | - | |
| 324 | + | |
313 | 325 | | |
314 | 326 | | |
315 | 327 | | |
316 | | - | |
| 328 | + | |
317 | 329 | | |
318 | 330 | | |
319 | | - | |
320 | | - | |
| 331 | + | |
| 332 | + | |
| 333 | + | |
| 334 | + | |
| 335 | + | |
| 336 | + | |
| 337 | + | |
| 338 | + | |
321 | 339 | | |
322 | 340 | | |
323 | 341 | | |
324 | 342 | | |
325 | | - | |
| 343 | + | |
| 344 | + | |
| 345 | + | |
| 346 | + | |
| 347 | + | |
| 348 | + | |
| 349 | + | |
| 350 | + | |
326 | 351 | | |
327 | 352 | | |
328 | 353 | | |
329 | 354 | | |
330 | | - | |
| 355 | + | |
331 | 356 | | |
332 | 357 | | |
333 | | - | |
| 358 | + | |
| 359 | + | |
334 | 360 | | |
335 | 361 | | |
336 | 362 | | |
| |||
343 | 369 | | |
344 | 370 | | |
345 | 371 | | |
| 372 | + | |
346 | 373 | | |
347 | 374 | | |
348 | | - | |
| 375 | + | |
349 | 376 | | |
350 | 377 | | |
351 | 378 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
53 | 53 | | |
54 | 54 | | |
55 | 55 | | |
| 56 | + | |
56 | 57 | | |
57 | 58 | | |
58 | 59 | | |
| |||
77 | 78 | | |
78 | 79 | | |
79 | 80 | | |
| 81 | + | |
80 | 82 | | |
81 | 83 | | |
82 | 84 | | |
| |||
312 | 314 | | |
313 | 315 | | |
314 | 316 | | |
| 317 | + | |
| 318 | + | |
| 319 | + | |
| 320 | + | |
| 321 | + | |
| 322 | + | |
| 323 | + | |
| 324 | + | |
| 325 | + | |
| 326 | + | |
| 327 | + | |
| 328 | + | |
| 329 | + | |
| 330 | + | |
| 331 | + | |
| 332 | + | |
| 333 | + | |
| 334 | + | |
| 335 | + | |
| 336 | + | |
| 337 | + | |
315 | 338 | | |
316 | 339 | | |
317 | 340 | | |
| |||
327 | 350 | | |
328 | 351 | | |
329 | 352 | | |
330 | | - | |
331 | | - | |
332 | | - | |
333 | 353 | | |
334 | 354 | | |
335 | | - | |
| 355 | + | |
| 356 | + | |
| 357 | + | |
| 358 | + | |
| 359 | + | |
| 360 | + | |
| 361 | + | |
| 362 | + | |
| 363 | + | |
| 364 | + | |
| 365 | + | |
| 366 | + | |
| 367 | + | |
| 368 | + | |
| 369 | + | |
| 370 | + | |
| 371 | + | |
| 372 | + | |
| 373 | + | |
| 374 | + | |
| 375 | + | |
| 376 | + | |
| 377 | + | |
| 378 | + | |
| 379 | + | |
| 380 | + | |
336 | 381 | | |
337 | 382 | | |
338 | 383 | | |
| |||
420 | 465 | | |
421 | 466 | | |
422 | 467 | | |
423 | | - | |
424 | | - | |
| 468 | + | |
| 469 | + | |
| 470 | + | |
| 471 | + | |
| 472 | + | |
| 473 | + | |
| 474 | + | |
| 475 | + | |
| 476 | + | |
| 477 | + | |
| 478 | + | |
| 479 | + | |
| 480 | + | |
| 481 | + | |
425 | 482 | | |
426 | | - | |
| 483 | + | |
427 | 484 | | |
428 | 485 | | |
429 | 486 | | |
| |||
553 | 610 | | |
554 | 611 | | |
555 | 612 | | |
| 613 | + | |
| 614 | + | |
| 615 | + | |
| 616 | + | |
| 617 | + | |
| 618 | + | |
| 619 | + | |
| 620 | + | |
| 621 | + | |
| 622 | + | |
| 623 | + | |
| 624 | + | |
| 625 | + | |
| 626 | + | |
| 627 | + | |
| 628 | + | |
| 629 | + | |
| 630 | + | |
| 631 | + | |
| 632 | + | |
| 633 | + | |
| 634 | + | |
| 635 | + | |
| 636 | + | |
| 637 | + | |
| 638 | + | |
| 639 | + | |
| 640 | + | |
| 641 | + | |
| 642 | + | |
556 | 643 | | |
557 | 644 | | |
558 | 645 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
92 | 92 | | |
93 | 93 | | |
94 | 94 | | |
95 | | - | |
| 95 | + | |
96 | 96 | | |
97 | 97 | | |
98 | 98 | | |
99 | 99 | | |
| 100 | + | |
100 | 101 | | |
101 | 102 | | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
537 | 537 | | |
538 | 538 | | |
539 | 539 | | |
| 540 | + | |
| 541 | + | |
| 542 | + | |
| 543 | + | |
| 544 | + | |
| 545 | + | |
| 546 | + | |
| 547 | + | |
| 548 | + | |
| 549 | + | |
| 550 | + | |
| 551 | + | |
| 552 | + | |
| 553 | + | |
| 554 | + | |
| 555 | + | |
| 556 | + | |
| 557 | + | |
| 558 | + | |
| 559 | + | |
540 | 560 | | |
541 | 561 | | |
542 | 562 | | |
| |||
619 | 639 | | |
620 | 640 | | |
621 | 641 | | |
| 642 | + | |
622 | 643 | | |
623 | 644 | | |
624 | 645 | | |
| |||
663 | 684 | | |
664 | 685 | | |
665 | 686 | | |
| 687 | + | |
| 688 | + | |
| 689 | + | |
| 690 | + | |
| 691 | + | |
| 692 | + | |
| 693 | + | |
| 694 | + | |
| 695 | + | |
| 696 | + | |
| 697 | + | |
| 698 | + | |
| 699 | + | |
| 700 | + | |
| 701 | + | |
| 702 | + | |
| 703 | + | |
| 704 | + | |
| 705 | + | |
| 706 | + | |
| 707 | + | |
| 708 | + | |
| 709 | + | |
| 710 | + | |
| 711 | + | |
666 | 712 | | |
667 | 713 | | |
668 | 714 | | |
| |||
746 | 792 | | |
747 | 793 | | |
748 | 794 | | |
749 | | - | |
750 | | - | |
| 795 | + | |
751 | 796 | | |
752 | 797 | | |
753 | 798 | | |
| |||
768 | 813 | | |
769 | 814 | | |
770 | 815 | | |
771 | | - | |
| 816 | + | |
772 | 817 | | |
773 | 818 | | |
774 | 819 | | |
| |||
0 commit comments