Skip to content

Preserve source identities - #555

Open
Y-Nak wants to merge 2 commits into
argotorg:mainfrom
Y-Nak:preserve-source-identities
Open

Preserve source identities#555
Y-Nak wants to merge 2 commits into
argotorg:mainfrom
Y-Nak:preserve-source-identities

Conversation

@Y-Nak

@Y-Nak Y-Nak commented Aug 5, 2026

Copy link
Copy Markdown
Member

depends on #554
Preserve stable identities for qualified names, types, and specializations through lowering and Hull emission.
Fixes collisions where same-spelled declarations from different origins could be conflated or captured.

Y-Nak added 2 commits August 4, 2026 15:20
(cherry picked from commit 2b2eeebb09dfbc12bf7c4b513b0bba9c81142ef5)
(cherry picked from commit 51305f258dbc60ca351086933baaeb276f4c311e)
@Y-Nak
Y-Nak force-pushed the preserve-source-identities branch from 630b3f8 to cbe1cd0 Compare August 5, 2026 12:31
@Y-Nak Y-Nak mentioned this pull request Aug 5, 2026

@mbenke mbenke left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Well done. Fix the merge conflicts and it's good to go.

@mbenke

mbenke commented Aug 6, 2026

Copy link
Copy Markdown
Collaborator

One thing I am not crazy about is that generated names are totally opaque (and long!) which makes reading the generated code (e.g. for debugging) very hard:

function usr$totalSupply () -> _result {
        let _v642
        _v642 := usr$$$S1069$$$N354$36_36_83_51_48_36_36_36_81_81_49_50_36_78_51_36_56_50_95_56_54_95_54_53_95_51
_36_57_55_95_57_57_95_57_57_95_49_36_51_49_50_36_84_54_54_36_78_49_55_36_55_55_95_49_48_49_95_49_48_57_95_57_56_9
5_49_48_49_95_49_49_52_95_54_53_95_57_57_95_57_57_95_49_48_49_95_49_49_53_95_49_49_53_95_56_48_95_49_49_52_95_49_
49_49_95_49_50_48_95_49_50_49_95_52_36_56_54_36_84_53_57_36_78_49_53_36_54_55_95_49_49_49_95_49_49_48_95_49_49_54
_95_49_49_52_95_57_55_95_57_57_95_49_49_54_95_56_51_95_49_49_54_95_49_49_49_95_49_49_52_95_57_55_95_49_48_51_95_4
9_48_49_95_49_36_49_56_36_86_49_52_36_78_51_36_57_57_95_49_50_48_95_49_49_54_95_53_56_36_86_53_52_36_78_49_51_36_
49_48_50_95_49_48_53_95_49_48_49_95_49_48_56_95_49_48_48_95_56_51_95_49_48_49_95_49_48_56_95_49_48_49_95_57_57_95
_49_49_54_95_49_49_49_95_49_49_52_95_51_55_36_86_51_51_36_78_56_36_49_48_56_95_49_49_49_95_57_55_95_49_48_48_95_5
6_52_95_49_50_49_95_49_49_50_95_49_48_49_95_52_55_36_86_52_51_36_78_49_48_36_49_49_49_95_49_48_50_95_49_48_50_95_
49_49_53_95_49_48_49_95_49_49_54_95_56_52_95_49_50_49_95_49_49_50_95_49_48_49_95_4$51$T45$N12$77_105_110_105_69_8
2_67_50_48_67_120_116_0$100$T94$N25$77_105_110_105_69_82_67_50_48_95_116_111_116_97_108_83_117_112_112_108_121_95
_115_101_108_0$34$T28$N7$117_105_110_116_50_53_54_0$272$T18$N4$112_97_105_114_2$33$T27$N6$115_116_114_105_110_103
_0$208$T18$N4$112_97_105_114_2$33$T27$N6$115_116_114_105_110_103_0$144$T18$N4$112_97_105_114_2$36$T30$N7$97_100_1
00_114_101_115_115_0$78$T18$N4$112_97_105_114_2$34$T28$N7$117_105_110_116_50_53_54_0$14$T9$N2$40_41_0$()
        _result := _v642
        leave
      }

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants