Skip to content

Conversation

@nachumg
Copy link
Contributor

@nachumg nachumg commented Sep 30, 2025

…mes.

Internal:
cr/803044423
cr/797205610
cr/795227092
cr/774785655
cr/774700148

…mes.

Internal:
cr/803044423
cr/797205610
cr/795227092
cr/774785655
cr/774700148
@amykyta3
Copy link
Member

Can you provide more details for what this PR is addressing?
I cannot accept this without some explanation

@nachumg
Copy link
Contributor Author

nachumg commented Oct 16, 2025

We have parameterized components with many structs, causing the generated type name to become very large, which breaks compilation.
And since the order of the mangled parts is non-deterministic it also prevents us from running tests on downstream artifacts.

@amykyta3
Copy link
Member

Can you provide more specific examples?
The SystemRDL spec is pretty clear about the rules about generated type names (Section 5.1.1.4), so from the compiler's perspective, I am not willing to change the behavior in a way that violates the standard (See contributing guidelines)

That said, I agree that the generated type names can get pretty verbose, and have plans to shorten them in the individual exporters appropriately, but changing this in the compiler would be inappropriate.

Lastly, you mention that the type names are "non-deterministic". Can you provide an example that demonstrates this? Run-to-run with the same input, the type names should be deterministic. If that is not the case, then it warrants a separate bug issue.

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