# wasm backend: implement \`multi_value\` for \`WValue\` · gitcafe/zig

[View on GitCafe](https://git.cafe/gitcafe/zig/commit/87a9c6946dd536de562bc86ac4819a33df3442df)

Repository: [gitcafe/zig](https://git.cafe/gitcafe/zig)

Visibility: public

Requested revision: 87a9c6946dd536de562bc86ac4819a33df3442df

Requested commit: 87a9c6946dd536de562bc86ac4819a33df3442df

Commit: 87a9c6946dd536de562bc86ac4819a33df3442df

Tree: 7a6cd4ba08b8246625f65e39675e9f7b1a2d2c1d

Author: Luuk de Gram

Committer: Luuk de Gram

## Message

```
wasm backend: implement `multi_value` for `WValue`

This allows us to differentiate between regular locals and variables that create multiple locals
on the stack such as optionals and structs.
Now `struct_a = struct_b;` works and only updates a reference, rather than update all local's values.

Also created more test cases to test against this.

```

## Parents

- [69626478626aee18953b2fbfa42d509c7dfff1e4](https://git.cafe/gitcafe/zig/commit/69626478626aee18953b2fbfa42d509c7dfff1e4?format=markdown)

[Source at this commit](https://git.cafe/gitcafe/zig/tree/87a9c6946dd536de562bc86ac4819a33df3442df?format=markdown)
