-
Notifications
You must be signed in to change notification settings - Fork 715
fix: make name mangling unambiguous #10727
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
|
Mathlib CI status (docs):
|
|
Reference manual CI status:
|
hargoniX
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Great work! Just a few conceptual remarks regarding whether we really want as much proof in here at this point in time.
|
This is a bit odd, the change failed to compile in merge queue but works here. @Rob23oba could you rebase on master to see if the issue reproduces in the PR CI? |
|
Hmm I hope it's not non-deterministic... |
This PR fixes name mangling to be unambiguous / injective by adding `00` for disambiguation where necessary. Additionally, the inverse function, `Lean.Name.unmangle` has been added which can be used to unmangle a mangled identifier. This unmangler has been added to demonstrate the injectivity but also to allow unmangling identifiers e.g. for debugging purposes. Closes leanprover#10724
This PR fixes name mangling to be unambiguous / injective by adding
00for disambiguation where necessary. Additionally, the inverse function,Lean.Name.unmanglehas been added which can be used to unmangle a mangled identifier. This unmangler has been added to demonstrate the injectivity but also to allow unmangling identifiers e.g. for debugging purposes.Closes #10724