# remove type coercion from array values to references · gitcafe/zig

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

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

Visibility: public

Requested revision: bf3ac6615051143a9ef41180cd74e88de5dd573d

Requested commit: bf3ac6615051143a9ef41180cd74e88de5dd573d

Commit: bf3ac6615051143a9ef41180cd74e88de5dd573d

Tree: 94571f5e6d408287928091c4dad6451d946d6434

Author: Andrew Kelley

Committer: Andrew Kelley

## Message

```
remove type coercion from array values to references

 * Implements #3768. This is a sweeping breaking change that requires
   many (trivial) edits to Zig source code. Array values no longer
   coerced to slices; however one may use `&` to obtain a reference to
   an array value, which may then be coerced to a slice.

 * Adds `IrInstruction::dump`, for debugging purposes. It's useful to
   call to inspect the instruction when debugging Zig IR.

 * Fixes bugs with result location semantics. See the new behavior test
   cases, and compile error test cases.

 * Fixes bugs with `@typeInfo` not properly resolving const values.

 * Behavior tests are passing but std lib tests are not yet. There
   is more work to do before merging this branch.

```

## Parents

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

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