Skip to content

Commit

Permalink
wit syntax: require semicolons (#51)
Browse files Browse the repository at this point in the history
* wit-deps update

no functional changes, just adding semicolons

* wits: add semicolons as statement separator

* CI: use wit-abi-up-to-date@v16, which requires semicolons
  • Loading branch information
pchickey authored Oct 16, 2023
1 parent 30af301 commit 1ea8a6d
Show file tree
Hide file tree
Showing 9 changed files with 42 additions and 42 deletions.
2 changes: 1 addition & 1 deletion .github/workflows/main.yml
Original file line number Diff line number Diff line change
Expand Up @@ -18,4 +18,4 @@ jobs:
./wit-deps lock
git add -N wit/deps
git diff --exit-code
- uses: WebAssembly/wit-abi-up-to-date@v15
- uses: WebAssembly/wit-abi-up-to-date@v16
4 changes: 2 additions & 2 deletions wit/deps.lock
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
[io]
url = "https://github.com/WebAssembly/wasi-io/archive/main.tar.gz"
sha256 = "6e20bcf4d4f5466b60c05ea8da7289ca361a7febdd22ab1a531e5ef7e394ab8d"
sha512 = "21f6689bce6ed6d9e3bd96372e5c7ed003a7aefbf8d49b4eea949dfbd265cf57a0d7dc67aa71e3de75d48fcc2c0cfe5f06f7e9e7959a23bc98f77da85f4161b9"
sha256 = "a00c29dd57dc224e8ce28b793b19c1b1001dcdbdc229ed451c3df1db91841b34"
sha512 = "8558085eeb5689209101cdfbc9782953d559ad14ce77260fe2f7cc472482d568f65cad9e6a688d40c634c6c54c608f27e27e481633446114d6fdead93d4e34c5"
8 changes: 4 additions & 4 deletions wit/deps/io/poll.wit
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
package wasi:io
package wasi:io;

/// A poll API intended to let users wait for I/O events on multiple handles
/// at once.
interface poll {
/// A "pollable" handle.
resource pollable
resource pollable;

/// Poll for completion on a set of pollables.
///
Expand All @@ -24,11 +24,11 @@ interface poll {
/// do any I/O so it doesn't fail. If any of the I/O sources identified by
/// the pollables has an error, it is indicated by marking the source as
/// being reaedy for I/O.
poll-list: func(in: list<borrow<pollable>>) -> list<u32>
poll-list: func(in: list<borrow<pollable>>) -> list<u32>;

/// Poll for completion on a single pollable.
///
/// This function is similar to `poll-list`, but operates on only a single
/// pollable. When it returns, the handle is ready for I/O.
poll-one: func(in: borrow<pollable>)
poll-one: func(in: borrow<pollable>);
}
36 changes: 18 additions & 18 deletions wit/deps/io/streams.wit
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
package wasi:io
package wasi:io;

/// WASI I/O is an I/O abstraction API which is currently focused on providing
/// stream types.
///
/// In the future, the component model is expected to add built-in stream types;
/// when it does, they are expected to subsume this API.
interface streams {
use poll.{pollable}
use poll.{pollable};

/// Streams provide a sequence of data and then end; once they end, they
/// no longer provide any further data.
Expand Down Expand Up @@ -58,14 +58,14 @@ interface streams {
read: func(
/// The maximum number of bytes to read
len: u64
) -> result<tuple<list<u8>, stream-status>>
) -> result<tuple<list<u8>, stream-status>>;

/// Read bytes from a stream, after blocking until at least one byte can
/// be read. Except for blocking, identical to `read`.
blocking-read: func(
/// The maximum number of bytes to read
len: u64
) -> result<tuple<list<u8>, stream-status>>
) -> result<tuple<list<u8>, stream-status>>;

/// Skip bytes from a stream.
///
Expand All @@ -82,22 +82,22 @@ interface streams {
skip: func(
/// The maximum number of bytes to skip.
len: u64,
) -> result<tuple<u64, stream-status>>
) -> result<tuple<u64, stream-status>>;

/// Skip bytes from a stream, after blocking until at least one byte
/// can be skipped. Except for blocking behavior, identical to `skip`.
blocking-skip: func(
/// The maximum number of bytes to skip.
len: u64,
) -> result<tuple<u64, stream-status>>
) -> result<tuple<u64, stream-status>>;

/// Create a `pollable` which will resolve once either the specified stream
/// has bytes available to read or the other end of the stream has been
/// closed.
/// The created `pollable` is a child resource of the `input-stream`.
/// Implementations may trap if the `input-stream` is dropped before
/// all derived `pollable`s created with this function are dropped.
subscribe: func() -> pollable
subscribe: func() -> pollable;
}

/// An error for output-stream operations.
Expand Down Expand Up @@ -131,7 +131,7 @@ interface streams {
/// When this function returns 0 bytes, the `subscribe` pollable will
/// become ready when this function will report at least 1 byte, or an
/// error.
check-write: func() -> result<u64, write-error>
check-write: func() -> result<u64, write-error>;

/// Perform a write. This function never blocks.
///
Expand All @@ -142,7 +142,7 @@ interface streams {
/// the last call to check-write provided a permit.
write: func(
contents: list<u8>
) -> result<_, write-error>
) -> result<_, write-error>;

/// Perform a write of up to 4096 bytes, and then flush the stream. Block
/// until all of these operations are complete, or an error occurs.
Expand Down Expand Up @@ -170,7 +170,7 @@ interface streams {
/// ```
blocking-write-and-flush: func(
contents: list<u8>
) -> result<_, write-error>
) -> result<_, write-error>;

/// Request to flush buffered output. This function never blocks.
///
Expand All @@ -182,11 +182,11 @@ interface streams {
/// writes (`check-write` will return `ok(0)`) until the flush has
/// completed. The `subscribe` pollable will become ready when the
/// flush has completed and the stream can accept more writes.
flush: func() -> result<_, write-error>
flush: func() -> result<_, write-error>;

/// Request to flush buffered output, and block until flush completes
/// and stream is ready for writing again.
blocking-flush: func() -> result<_, write-error>
blocking-flush: func() -> result<_, write-error>;

/// Create a `pollable` which will resolve once the output-stream
/// is ready for more writing, or an error has occured. When this
Expand All @@ -198,7 +198,7 @@ interface streams {
/// The created `pollable` is a child resource of the `output-stream`.
/// Implementations may trap if the `output-stream` is dropped before
/// all derived `pollable`s created with this function are dropped.
subscribe: func() -> pollable
subscribe: func() -> pollable;

/// Write zeroes to a stream.
///
Expand All @@ -209,7 +209,7 @@ interface streams {
write-zeroes: func(
/// The number of zero-bytes to write
len: u64
) -> result<_, write-error>
) -> result<_, write-error>;

/// Perform a write of up to 4096 zeroes, and then flush the stream.
/// Block until all of these operations are complete, or an error
Expand Down Expand Up @@ -238,7 +238,7 @@ interface streams {
blocking-write-zeroes-and-flush: func(
/// The number of zero-bytes to write
len: u64
) -> result<_, write-error>
) -> result<_, write-error>;

/// Read from one stream and write to another.
///
Expand All @@ -252,7 +252,7 @@ interface streams {
src: input-stream,
/// The number of bytes to splice
len: u64,
) -> result<tuple<u64, stream-status>>
) -> result<tuple<u64, stream-status>>;

/// Read from one stream and write to another, with blocking.
///
Expand All @@ -263,7 +263,7 @@ interface streams {
src: input-stream,
/// The number of bytes to splice
len: u64,
) -> result<tuple<u64, stream-status>>
) -> result<tuple<u64, stream-status>>;

/// Forward the entire contents of an input stream to an output stream.
///
Expand All @@ -280,6 +280,6 @@ interface streams {
forward: func(
/// The stream to read from
src: input-stream
) -> result<tuple<u64, stream-status>>
) -> result<tuple<u64, stream-status>>;
}
}
6 changes: 3 additions & 3 deletions wit/deps/io/world.wit
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
package wasi:io
package wasi:io;

world imports {
import streams
import poll
import streams;
import poll;
}
10 changes: 5 additions & 5 deletions wit/monotonic-clock.wit
Original file line number Diff line number Diff line change
Expand Up @@ -9,24 +9,24 @@
///
/// It is intended for measuring elapsed time.
interface monotonic-clock {
use wasi:io/poll.{pollable}
use wasi:io/poll.{pollable};

/// A timestamp in nanoseconds.
type instant = u64
type instant = u64;

/// Read the current value of the clock.
///
/// The clock is monotonic, therefore calling this function repeatedly will
/// produce a sequence of non-decreasing values.
now: func() -> instant
now: func() -> instant;

/// Query the resolution of the clock.
resolution: func() -> instant
resolution: func() -> instant;

/// Create a `pollable` which will resolve once the specified time has been
/// reached.
subscribe: func(
when: instant,
absolute: bool
) -> pollable
) -> pollable;
}
6 changes: 3 additions & 3 deletions wit/timezone.wit
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
interface timezone {
use wall-clock.{datetime}
use wall-clock.{datetime};

/// Return information needed to display the given `datetime`. This includes
/// the UTC offset, the time zone name, and a flag indicating whether
Expand All @@ -8,10 +8,10 @@ interface timezone {
/// If the timezone cannot be determined for the given `datetime`, return a
/// `timezone-display` for `UTC` with a `utc-offset` of 0 and no daylight
/// saving time.
display: func(when: datetime) -> timezone-display
display: func(when: datetime) -> timezone-display;

/// The same as `display`, but only return the UTC offset.
utc-offset: func(when: datetime) -> s32
utc-offset: func(when: datetime) -> s32;

/// Information useful for displaying the timezone of a specific `datetime`.
///
Expand Down
4 changes: 2 additions & 2 deletions wit/wall-clock.wit
Original file line number Diff line number Diff line change
Expand Up @@ -32,10 +32,10 @@ interface wall-clock {
///
/// [POSIX's Seconds Since the Epoch]: https://pubs.opengroup.org/onlinepubs/9699919799/xrat/V4_xbd_chap04.html#tag_21_04_16
/// [Unix Time]: https://en.wikipedia.org/wiki/Unix_time
now: func() -> datetime
now: func() -> datetime;

/// Query the resolution of the clock.
///
/// The nanoseconds field of the output is always less than 1000000000.
resolution: func() -> datetime
resolution: func() -> datetime;
}
8 changes: 4 additions & 4 deletions wit/world.wit
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
package wasi:clocks
package wasi:clocks;

world imports {
import monotonic-clock
import wall-clock
import timezone
import monotonic-clock;
import wall-clock;
import timezone;
}

0 comments on commit 1ea8a6d

Please sign in to comment.