Skip to content

SILGen: Add AnyHashable erasure support for function conversions [3.0] #5563

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

slavapestov
Copy link
Contributor

@slavapestov slavapestov commented Oct 31, 2016

  • Description: When AnyHashable was added in Swift 3, we forgot to update SILGen's function conversion path to support it.

  • Scope of the issue: The bug is pretty obscure but at least in the reported case, it is unclear to the user that AnyHashable is used at all, or what the workaround is.

  • Risk: Low.

  • Tested: New automated test added.

  • Bug: https://bugs.swift.org/browse/SR-2603 and rdar://problem/28787005

  • Reviewed by: @jckarter

When AnyHashable was added, SILGen gained support for lowering
AnyHashableErasureExpr, however we forgot to also add support
for AnyHashable parameter and result conversions to
FunctionConversionExpr.

Fixes <https://bugs.swift.org/browse/SR-2603>.
@slavapestov
Copy link
Contributor Author

@swift-ci Please test macOS

@slavapestov
Copy link
Contributor Author

@jckarter Do you mind reviewing this for 3.0?

@jckarter
Copy link
Contributor

Looks good.

@slavapestov slavapestov changed the title SILGen: Add AnyHashable erasure support for function conversions SILGen: Add AnyHashable erasure support for function conversions [3.0] Oct 31, 2016
@ematejska ematejska merged commit 6a4bcb1 into swiftlang:swift-3.0-branch Nov 1, 2016
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.

3 participants