aboutsummaryrefslogtreecommitdiff
path: root/src/Package/Module.zig
diff options
context:
space:
mode:
authormlugg <mlugg@mlugg.co.uk>2024-03-05 06:02:58 +0000
committermlugg <mlugg@mlugg.co.uk>2024-03-06 21:26:37 +0000
commitd0c022f7347b5cda34751a986a535aee3b1f45dc (patch)
tree40a178dcd2b152a7fe26977b94d636d93debf52c /src/Package/Module.zig
parent8ec6f730eff1f6008b7eba1c749824a4a5734e5f (diff)
downloadzig-d0c022f7347b5cda34751a986a535aee3b1f45dc.tar.gz
zig-d0c022f7347b5cda34751a986a535aee3b1f45dc.zip
compiler: namespace type equivalence based on AST node + captures
This implements the accepted proposal #18816. Namespace-owning types (struct, enum, union, opaque) are no longer unique whenever analysed; instead, their identity is determined based on their AST node and the set of values they capture. Reified types (`@Type`) are deduplicated based on the structure of the type created. For instance, if two structs are created by the same reification with identical fields, layout, etc, they will be the same type. This commit does not produce a working compiler; the next commit, adding captures for decl references, is necessary. It felt appropriate to split this up. Resolves: #18816
Diffstat (limited to 'src/Package/Module.zig')
0 files changed, 0 insertions, 0 deletions