On Monday, 1 February 2021 at 11:39:26 UTC, Per Nordlöw wrote:
On Monday, 1 February 2021 at 11:37:49 UTC, Per Nordlöw wrote:
Ok, so then my follow-up question becomes, does the right hand sides of these two assignment share the same AST node? If not, why?

Because such a shared AST node could be potentially mutated in different ways in different contexts during its passes?

The spec says nothing about AST nodes. You can ask what DMD does (I don't know), but technically speaking, ASTs are an implementation detail of a compiler. A compiler need not have ASTs at all to follow the spec (unless the spec demands ASTs to exist, which I think it does not do). A compiler can change its AST nodes to a different yet equivalent representation without issue (unless the spec demands ASTs to exist and be of a certain form, which I think it does not do).

Reply via email to