[5.9 π][Compile Time Constant Extraction] Deprecated extraction of property mangled names #67659
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Cherry-pick of #67658
βββ CCC Information βββ
β’ Train: Swift 5.9
β’ Explanation: We have recently made late changes to compile-time metadata extraction from the AST in the compiler, in order to gather additional info about relevant conformances. One such addition is collecting mangled names of conformancesβ properties. Extracting mangled type names of nominal type properties has edge cases that the code did not cover, such as how to mangle types containing archetypes. Upon encountering such properties, the compiler, unfortunately, crashes during extraction. We have realized that extracting this data is unnecessary, the codeβs client does not utilize it, and addressing the additional complexity of mangling property types which contain archetypes is not worth the effort, so the solution is to remove the error-prone code-path entirely.
β’ Scope of Issue: User code with nominal types which conform to the extracted protocols and have properties whose type contains an archetype will crash the compiler.
β’ Origination: Recent changes to extraction code to augment it with additional metadata.
β’ Risk: Minimal. This change removes functionality and a code-path which may be error-prone and even cause crashes. Since this functionality is not used by clients of this code, I consider it a safe change.
β’
main
Pull Request URL: #67658β’ Reviewed By: @nkcsgexi
β’ Automated Testing: Compiler test suite modified to reflect the expected output of this kind of extraction (not extracting property mangled names).
Resolves rdar://113039215