Under -Xsource:3, don't auto-eta-expand nilary methods to SAM types #9049
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.
A piece of code such as:
could be interpreted in two ways.
InputStream
is a SAM ofdef read(): Int
, andC(u.openStream)
requires an eta-expansion from openStream method to() => Int
.u.openStream
needs auto application()
.Under
-Xsource:3
Scala 2.13.2 took the first interpretation, since #7660, and then errored with surprising:This PR fixes that by not eta-expanding nilary methods when a SAM type is expected.
Fixes scala/bug#12006; supersedes #9027