Skip to content

RequirementMachine: The great renaming #38611

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

Merged
merged 8 commits into from
Jul 24, 2021

Conversation

slavapestov
Copy link
Contributor

  • "Atoms" should be called "symbols" because that's a much more common term for this, and there's little opportunity for confusion with linker symbols here.
  • The "equivalence class map" should be called the "property map" since it collects information about property-like rules, which involve property symbols, and there aren't really any equivalence classes with a formal equivalence relation here.
  • RequirementMachine.h can live in lib/AST/RequirementMachine/ since it's only used by GenericSignature.cpp and ASTContext.cpp, and I don't want other usages to creep in; the rewrite system should be entirely abstracted away by "nice" APIs that traffic in AST objects.
  • Due to the above, we don't have to use the PIMPL pattern, it just adds unnecessary indirection.
  • Finally, it's called the shortlex order, not lexshort. Fix that.

@slavapestov
Copy link
Contributor Author

@swift-ci Please smoke test

@slavapestov slavapestov merged commit 00349ef into swiftlang:main Jul 24, 2021
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.

1 participant