995: fix(runtime-core) Remove a panic when generating globals with a corrupted module r=syrusakbary a=Hywan
Fix#979.
When we try to get a global that doesn't exist, a panic is
generated. This patch skips such panic and let a proper error be
generated.
Before this patch:
```
$ cargo run -- run panic_index_oob_all_backends.wasm
Error: ExportNotFound { name: "main" }
```
With this patch:
```sh
$ cargo run -- run panic_index_oob_all_backends.wasm
Error: Can't instantiate module: LinkError([Generic { message: "Trying to read the `0` global that isn\'t properly initialized." }])
```
Co-authored-by: Ivan Enderlin <ivan.enderlin@hoa-project.net>
Before this patch:
```
$ cargo run -- run panic_index_oob_all_backends.wasm
Error: ExportNotFound { name: "main" }
```
With this patch:
```sh
$ cargo run -- run panic_index_oob_all_backends.wasm
Error: Can't instantiate module: LinkError([Generic { message: "Trying to read the `0` global that isn\'t properly initialized." }])
```
Fix https://github.com/wasmerio/wasmer/issues/979.
When we try to get a global that doesn't exist, a panic is
generated. This patch just skip that path, and let a proper error be
generated later.
With this patch, we get:
```sh
$ cargo run -- run panic_index_oob_all_backends.wasm
Error: ExportNotFound { name: "main" }
```
which is kind of the expected behavior in such situation.
992: Update wapm-cli to latest version r=syrusakbary a=syrusakbary
<!--
Prior to submitting a PR, review the CONTRIBUTING.md document for recommendations on how to test:
https://github.com/wasmerio/wasmer/blob/master/CONTRIBUTING.md#pull-requests
-->
# Description
This PR:
* [x] Updates WAPM version to 0.4.1
* [x] Fixes arguments issue introduced in #990
# Review
- [x] Add a short description of the the change to the CHANGELOG.md file
Co-authored-by: Syrus <me@syrusakbary.com>
991: Run WASI C API tests based on feature; prevent cmake caching r=MarkMcCaskey a=MarkMcCaskey
Resolves#988
Co-authored-by: Mark McCaskey <mark@wasmer.io>
990: Allow to do wasmer execution without the `run` argument r=MarkMcCaskey a=syrusakbary
# Description
This PR allows Wasmer to run files directly without doing `wasmer run xyz.wasm`.
So you can do `wasmer xyz.wasm`
# Review
- [x] Add a short description of the the change to the CHANGELOG.md file
Co-authored-by: Syrus <me@syrusakbary.com>
Co-authored-by: Mark McCaskey <mark@wasmer.io>
977: fix(runtime-core) Remove unnecessary implementation of `WasmTypeList` r=Hywan a=Hywan
The unit tests `test_func_arity_*` covers all possibilities, from 0 to
12. Removing this specific implementation of `WasmTypeList` for `(A,)`
doesn't break the test cases.
Also, the `impl_traits!` macro already implement `WasmTypeList` for
`(A,)` with `impl_traits!([transparent] S1, A)`. It's not clear why
`rustc` doesn't detect that though.
Co-authored-by: Ivan Enderlin <ivan.enderlin@hoa-project.net>
978: test(runtime-core) Test closures in `Func::new` r=Hywan a=Hywan
This patch contains 2 commits:
1. Test closures in `Func::new`
2. Fix a warning about `unused_parens` (since Rust 1.39, the behavior of `unused_parens` has changed a little bit).
Co-authored-by: Ivan Enderlin <ivan.enderlin@hoa-project.net>
973: Add sign extension spec tests; add sign extension to singlepass r=nlewycky a=MarkMcCaskey
Adds missing spectests from official repo, implements instructions for singlepass
# Review
- [ ] Add a short description of the the change to the CHANGELOG.md file
Co-authored-by: Mark McCaskey <mark@wasmer.io>
Co-authored-by: Mark McCaskey <5770194+markmccaskey@users.noreply.github.com>
981: Revert "Update Rust version to 1.39.0." r=MarkMcCaskey a=MarkMcCaskey
As far as I know we still want to be 1 behind latest stable to minimize breakage and bug reports (the compiler says you should install nightly when encountering new features)
# Review
- [ ] Add a short description of the the change to the CHANGELOG.md file
Co-authored-by: Mark McCaskey <mark@wasmer.io>
974: Update to Rust 1.39 r=losfair a=losfair
This PR updates the default Rust version to 1.39.
Necessary for code formatted with newer versions of `rustfmt` to pass the CI lint check.
Co-authored-by: losfair <zhy20000919@hotmail.com>
The unit tests `test_func_arity_*` covers all possibilities, from 0 to
12. Removing this specific implementation of `WasmTypeList` for `(A,)`
doesn't break the test cases.
Also, the `impl_traits!` macro already implement `WasmTypeList` for
`(A,)` with `impl_traits!([transparent] S1, A)`. It's not clear why
`rustc` doesn't detect that though.