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

Fix May 2nd meeting URL #22

Merged
merged 1 commit into from
Apr 19, 2019
Merged

Conversation

chicoxyzzy
Copy link
Member

No description provided.

@sunfishcode
Copy link
Member

Thanks!

@sunfishcode sunfishcode merged commit 4b497a8 into WebAssembly:master Apr 19, 2019
@chicoxyzzy chicoxyzzy deleted the patch-1 branch April 19, 2019 19:20
alexcrichton added a commit to alexcrichton/WASI that referenced this pull request Jan 19, 2022
* Procedurally generate the entire crate

This commit switches to using the `*.witx` file to procedurally generate
this entire crate. Both the raw low-level function bindings as well as
the higher level wrappers which use types like slices and `&str` are
procedurally generated.

Along the way a number of various other modifications and improvements
were made:

* Documentation is carried over from the `*.witx` file to bindings generated.
* The WASI bindings are updated to `wasi_snapshot_preview1`.
* The crate version is bumped, and now contains build metadata showing
  what version of the WASI spec is implemented.
* A dedicated opaque `Error` type has been added which implements traits
  like `Debug` and `Display` which are WASI-specific. It also
  additionally implements the `Error` trait if enabled.
* The crate's module structure has been removed, with bindings now
  appearing at the top level instead of in a `wasi_snapshot_preview1`
  submodule.
* The `__wasi` and `__WASI` prefixes on names have all been removed.
* The names of enums values and flag values are now `{ENUM}_{FLAG}` to
  disambiguate same-named flags between enum/flag types.

The entire crate is now procedurally generated but this means that a few
prior convenience wrappers no longer exist and/or are much more raw then
they were before:

* `args_get` - this simply takes raw buffers instead of a closure
* `environ_get` - takes raw buffers like above
* `fd_prestat_dir_name` - takes a raw pointer to write to instead of a
  mutable buffer
* `fd_readdir` - same as above
* `path_readlink` - same as above
* `random_get` - same as above
* `poll_oneoff` - this seems like a bit of a weird API, but no longer
  takes two arrays and only works in raw pointers

I think this means we'll probably want future wasi spec work to codify a
"mutable output buffer" as first class concept for most of the APIs
above, and I think that would make most of them nicer to use.

Closes WebAssembly#20

* Handle some review comments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants