Files
wasmtime/crates/component-macro/tests/codegen/conventions.wit
Alex Crichton 2329ecc341 Add a wasmtime::component::bindgen! macro (#5317)
* Import Wasmtime support from the `wit-bindgen` repo

This commit imports the `wit-bindgen-gen-host-wasmtime-rust` crate from
the `wit-bindgen` repository into the upstream Wasmtime repository. I've
chosen to not import the full history here since the crate is relatively
small and doesn't have a ton of complexity. While the history of the
crate is quite long the current iteration of the crate's history is
relatively short so there's not a ton of import there anyway. The
thinking is that this can now continue to evolve in-tree.

* Refactor `wasmtime-component-macro` a bit

Make room for a `wit_bindgen` macro to slot in.

* Add initial support for a `bindgen` macro

* Add tests for `wasmtime::component::bindgen!`

* Improve error forgetting `async` feature

* Add end-to-end tests for bindgen

* Add an audit of `unicase`

* Add a license to the test-helpers crate

* Add vet entry for `pulldown-cmark`

* Update publish script with new crate

* Try to fix publish script

* Update audits

* Update lock file
2022-12-06 13:06:00 -06:00

40 lines
831 B
Plaintext

// hello 🐱 world
interface conventions {
kebab-case: func()
record ludicrous-speed {
how-fast-are-you-going: u32,
i-am-going-extremely-slow: u64,
}
foo: func(x: ludicrous-speed)
%function-with-dashes: func()
%function-with-no-weird-characters: func()
apple: func()
apple-pear: func()
apple-pear-grape: func()
a0: func()
// Comment out identifiers that collide when mapped to snake_case, for now; see
// https://github.com/WebAssembly/component-model/issues/118
//APPLE: func()
//APPLE-pear-GRAPE: func()
//apple-PEAR-grape: func()
is-XML: func()
%explicit: func()
%explicit-kebab: func()
// Identifiers with the same name as keywords are quoted.
%bool: func()
}
world the-world {
import imports: conventions
export exports: conventions
default export conventions
}