742: Bump structopt from 0.2.18 to 0.3.0 r=MarkMcCaskey a=dependabot-preview[bot]
Bumps [structopt](https://github.com/TeXitoi/structopt) from 0.2.18 to 0.3.0.
<details>
<summary>Changelog</summary>
*Sourced from [structopt's changelog](https://github.com/TeXitoi/structopt/blob/master/CHANGELOG.md).*
> # v0.3.0 (2019-08-30)
>
> ## Breaking changes
>
> ### Bump minimum rustc version to 1.36 by [@​TeXitoi](https://github.com/TeXitoi)
> Now `rustc` 1.36 is the minimum compiler version supported by `structopt`,
> it likely won't work with older compilers.
>
> ### Remove "nightly" feature
> Once upon a time this feature had been used to enable some of improvements
> in `proc-macro2` crate that were available only on nightly. Nowadays this feature doesn't
> mean anything so it's now removed.
>
> ### Support optional vectors of arguments for distinguishing between `-o 1 2`, `-o` and no option provided at all by [@​sphynx](https://github.com/sphynx) ([#180](https://github-redirect.dependabot.com/TeXitoi/structopt/issues/188)).
>
> ```rust
> #[derive(StructOpt)]
> struct Opt {
> #[structopt(long)]
> fruit: Option<Vec<String>>,
> }
>
> fn main() {
> assert_eq!(Opt::from_args(&["test"]), None);
> assert_eq!(Opt::from_args(&["test", "--fruit"]), Some(vec![]));
> assert_eq!(Opt::from_args(&["test", "--fruit=apple orange"]), Some(vec!["apple", "orange"]));
> }
> ```
>
> If you need to fall back to the old behavior you can use a type alias:
> ```rust
> type Something = Vec<String>;
>
> #[derive(StructOpt)]
> struct Opt {
> #[structopt(long)]
> fruit: Option<Vec<String>>,
> }
> ```
>
> ### Change default case from 'Verbatim' into 'Kebab' by [@​0ndorio](https://github.com/0ndorio) ([#202](https://github-redirect.dependabot.com/TeXitoi/structopt/issues/202)).
> `structopt` 0.3 uses field renaming to deduce a name for long options and subcommands.
>
> ```rust
> #[derive(StructOpt)]
> struct Opt {
> #[structopt(long)]
> http_addr: String, // will be renamed to `--http-addr`
>
> #[structopt(subcommand)]
></tr></table> ... (truncated)
</details>
<details>
<summary>Commits</summary>
- [`673dbcc`](673dbcc910) Bump minimum rustc version to 1.36
- [`b57dde1`](b57dde1923) Update dependencies ([#227](https://github-redirect.dependabot.com/TeXitoi/structopt/issues/227))
- [`8830771`](8830771a60) Update documentation and changelog ([#236](https://github-redirect.dependabot.com/TeXitoi/structopt/issues/236))
- [`6bd1a69`](6bd1a69bbc) Update keyvalue example ([#234](https://github-redirect.dependabot.com/TeXitoi/structopt/issues/234))
- [`73db781`](73db7813de) Update raw_bool_literal.rs ([#231](https://github-redirect.dependabot.com/TeXitoi/structopt/issues/231))
- [`2363815`](236381545d) Update changelog
- [`dc5ec7a`](dc5ec7aeec) Emit error about `raw` removal
- [`a91109c`](a91109c3db) Change behavior of `about/author/version` and ad `no_version`
- [`5dfa606`](5dfa60660d) Now error messages highlight the error location ([#225](https://github-redirect.dependabot.com/TeXitoi/structopt/issues/225))
- [`94946c3`](94946c3b5f) Add documentation for `env` ([#221](https://github-redirect.dependabot.com/TeXitoi/structopt/issues/221))
- Additional commits viewable in [compare view](https://github.com/TeXitoi/structopt/compare/v0.2.18...v0.3.0)
</details>
<br />
[![Dependabot compatibility score](https://api.dependabot.com/badges/compatibility_score?dependency-name=structopt&package-manager=cargo&previous-version=0.2.18&new-version=0.3.0)](https://dependabot.com/compatibility-score.html?dependency-name=structopt&package-manager=cargo&previous-version=0.2.18&new-version=0.3.0)
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.
[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)
---
**Note:** This repo was added to Dependabot recently, so you'll receive a maximum of 5 PRs for your first few update runs. Once an update run creates fewer than 5 PRs we'll remove that limit.
You can always request more updates by clicking `Bump now` in your [Dependabot dashboard](https://app.dependabot.com).
<details>
<summary>Dependabot commands and options</summary>
<br />
You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
- `@dependabot use these labels` will set the current labels as the default for future PRs for this repo and language
- `@dependabot use these reviewers` will set the current reviewers as the default for future PRs for this repo and language
- `@dependabot use these assignees` will set the current assignees as the default for future PRs for this repo and language
- `@dependabot use this milestone` will set the current milestone as the default for future PRs for this repo and language
- `@dependabot badge me` will comment on this PR with code to add a "Dependabot enabled" badge to your readme
Additionally, you can set the following in your Dependabot [dashboard](https://app.dependabot.com):
- Update frequency (including time of day and day of week)
- Automerge options (never/patch/minor, and dev/runtime dependencies)
- Pull request limits (per update run and/or open at any time)
- Out-of-range updates (receive only lockfile updates, if desired)
- Security updates (receive only security updates, if desired)
Finally, you can contact us by mentioning @dependabot.
</details>
Co-authored-by: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com>
Co-authored-by: Syrus Akbary <me@syrusakbary.com>
Co-authored-by: Mark McCaskey <mark@wasmer.io>
756: feat(runtime-c-api) Allow to call `wasmer_export_func_call` with null inputs and a 0 arity r=syrusakbary a=Hywan
Fix#753
This PR allows to call `wasmer_export_func_call` with inputs set to NULL, and an arity of 0. It avoids to create an empty inputs array. So basically:
```c
wasmer_export_func_call(exported_function, NULL, 0, …, …);
```
instead of:
```c
wasmer_value_t inputs = {};
wasmer_export_func_call(exported_function, inputs, 0, …, …);
```
This PR also updates the test suite for exports. Instead of just the famous `sum` function, we now test more functions, so that all Wasm types are covered, including void functions.
Finally, this PR updates the `wasmer_export_func_call` signature to forbid negative arities.
Co-authored-by: Ivan Enderlin <ivan.enderlin@hoa-project.net>
726: Add serialization for WASI state r=MarkMcCaskey a=MarkMcCaskey
part of #700
Due to the trait objects from #583 , we can't use `serde` derive for this or use serde traits directly, we have to do some custom serialization (edit: luckily there's a crate for this: `typetag`)
Co-authored-by: Mark McCaskey <mark@wasmer.io>
Co-authored-by: Mark McCaskey <markmccaskey@users.noreply.github.com>
Co-authored-by: Syrus Akbary <me@syrusakbary.com>