Closed
Description
Currently DefPathData
embeds a Name
. The intention was to have an interned string and ignore hygiene. But it turns out that Name
still has a kind of quasi-hygiene -- using gensym
, you can create two names with the same string representation but distinct identifiers. We should be using InternedString
in DefPathData
instead, I believe. Otherwise you can wind up with two def-ids with def-paths that, after serialization, appear exactly the same (since we serialize the Name
by writing out the string value, but that is not sufficient to capture this gensym
quality).
This shows up e.g. in the iter
variable created by the for
lowering.