Skip to content

Fix bridge creation for value classes #603

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 3 commits into from
May 24, 2015

Conversation

smarter
Copy link
Member

@smarter smarter commented May 23, 2015

As the comment in the code says:
"In general, a bridge is needed when the signature of the closure method after
Erasure contains an ErasedValueType but the corresponding type in the functional
interface is not an ErasedValueType."
So we need to check if at least one of the type needs to be adapted,
not if all of them need to, the use of "forall" was an error.


This Pull Request depends on #601
Review by @DarkDimius

smarter added 3 commits May 23, 2015 17:54
They declare final methods which are overriden in SyntheticMethods,
which means that all value classes fail at runtime.
Disabling them makes it possible to add run tests for value classes
which will make it easier to experiment with changes to value classes.
As the comment in the code says:
"In general, a bridge is needed when the signature of the closure method after
Erasure contains an ErasedValueType but the corresponding type in the functional
interface is not an ErasedValueType."
So we need to check if _at least one_ of the type needs to be adapted,
not if _all of them_ need to, the use of "forall" was an error.
DarkDimius added a commit that referenced this pull request May 24, 2015
Fix bridge creation for value classes
@DarkDimius DarkDimius merged commit afe910d into scala:master May 24, 2015
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