mirror of
https://codeberg.org/ziglang/zig.git
synced 2026-04-27 19:09:47 +03:00
6608b65100
...but not in the way you'd expect. We were actually tracking them in cases where we shouldn't have been! We cannot track a declaration if its parent namespace has been lost, because that will cause analysis failures immediately, but if we excluded a type from the mapping due to a major change (such as a struct turning into a union, or a field being added), we were still including any trackable instructions inside the container's field expressions (e.g. struct field type expressions). This meant we were tracking a type declaration while losing tracking on its parent namespace, with predictably disastrous results. Oh, also, tracking for opaque types was just totally wrong (I think this was a typo from a while back). We could map it to things other than opaque declarations, and we never mapped declarations inside opaques. So, uh, I fixed that too.