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.
Currently
DefPathDataembeds aName. The intention was to have an interned string and ignore hygiene. But it turns out thatNamestill has a kind of quasi-hygiene -- usinggensym, you can create two names with the same string representation but distinct identifiers. We should be usingInternedStringinDefPathDatainstead, I believe. Otherwise you can wind up with two def-ids with def-paths that, after serialization, appear exactly the same (since we serialize theNameby writing out the string value, but that is not sufficient to capture thisgensymquality).This shows up e.g. in the
itervariable created by theforlowering.