# stage2: start the InternPool transition · gitcafe/zig

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

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

Visibility: public

Requested revision: 9aec2758cc29d27c31dcb0b4bb040484a885ef23

Requested commit: 9aec2758cc29d27c31dcb0b4bb040484a885ef23

Commit: 9aec2758cc29d27c31dcb0b4bb040484a885ef23

Tree: c171c40656f3b8f70375b4afca94a87784bb2dda

Author: Andrew Kelley

Committer: Andrew Kelley

## Message

```
stage2: start the InternPool transition

Instead of doing everything at once which is a hopelessly large task,
this introduces a piecemeal transition that can be done in small
increments at a time.

This is a minimal changeset that keeps the compiler compiling. It only
uses the InternPool for a small set of types.

Behavior tests are not passing.

Air.Inst.Ref and Zir.Inst.Ref are separated into different enums but
compile-time verified to have the same fields in the same order.

The large set of changes is mainly to deal with the fact that most Type
and Value methods now require a Module to be passed in, so that the
InternPool object can be accessed.

```

## Parents

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

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