▲ | kingstnap 6 days ago | ||||||||||||||||
> this is just a side-effect of another zig possible feature: removal of unnecessary arguments? I’m not a zigxpert, so I can’t answer. No, it's not. The way structural equivalence is keyed in Zig was changed (mid 2024) to be keyed on two things: Source location + Captured constants The issue for that was raised here. https://github.com/ziglang/zig/issues/18816 I don't actually think that that's sufficient. It makes more sense, imo, to capture some implicit context. Specifically inline context (so an inlined function or inline unrolled for loop will create a unique struct) and opened an issue here. https://github.com/ziglang/zig/issues/24931 But it got closed "to make incremental compilation simpler to implement." I consider it a kinda janky dismissal. I assume some actual reasoning about this is on Zulip / Meeting notes / git commit somewhere, but Idk im not a lawyer doing discovery. I get not designing yourself into a corner, but I don't think you need to be so afraid of sometimes needing to do a full recompile because some changes have viral behaviour. Anyway, something interesting in your post is that as a side effect, you get to view compilation order in the name. | |||||||||||||||||
▲ | jamiejquinn 6 days ago | parent [-] | ||||||||||||||||
Oh did I get frustrated seeing "to make incremental compilation simpler to implement" in the latest 0.15.1 release notes... I have no doubt incremental compilation will make many large projects easier to compile, and perhaps it really is the future of all compiled languages, but you're right, it's being wielded as a janky dismissal of many good ideas. | |||||||||||||||||
|