staticcheck linters broke until recent golangci-lint. Now, normal behaviour of enforcing no nil context works again. Ex. ``` assemblyscript/assemblyscript_example_test.go:16:25: SA1012: do not pass a nil Context, even if a function permits it; pass context.TODO if you are unsure about which Context to use (staticcheck) r := wazero.NewRuntime(nil) ``` Since default lint already checks for nil context, this removes our permission of nil context args. The original reason we permitted nil is no longer valid: we once allowed context to be stashed in config, and removed that as it caused bugs. We forgot to undo allowing nil explicitly. Note: this doesn't particularly check in our code for nil context, similar as we don't particularly check in our code for nil anything else. End users should use linters as none of our parameters should be nil anyway. Signed-off-by: Adrian Cole <adrian@tetrate.io>
wazero examples
The following example projects can help you practice WebAssembly with wazero:
- allocation - how to pass strings in and out of WebAssembly functions defined in Rust or TinyGo.
- assemblyscript - how to configure special imports needed by AssemblyScript when not using WASI.
- basic - how to use both WebAssembly and Go-defined functions.
- import-go - how to define, import and call a Go-defined function from a WebAssembly-defined function.
- multiple-results - how to return more than one result from WebAssembly or Go-defined functions.
- namespace - how WebAssembly modules can import their own host module, such as "env".
- replace-import - how to override a module name hard-coded in a WebAssembly module.
- wasi - how to use I/O in your WebAssembly modules using WASI (WebAssembly System Interface).
Please open an issue if you would like to see another example.