-
Notifications
You must be signed in to change notification settings - Fork 1.1k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Don't allow implicit conversions on prefixes of type selections (#19934)
Fixes #19888
- Loading branch information
Showing
4 changed files
with
23 additions
and
23 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,26 +1,8 @@ | ||
-- [E008] Not Found Error: tests/neg/i11994.scala:2:28 ----------------------------------------------------------------- | ||
2 |implicit def foo[T <: Tuple.meow]: Unit = ??? // error | ||
| ^^^^^^^^^^ | ||
| type meow is not a member of object Tuple. | ||
| Extension methods were tried, but the search failed with: | ||
| | ||
| Cyclic reference involving method foo | ||
| | ||
| The error occurred while trying to compute the signature of method foo | ||
| which required to compute the signature of type T | ||
| which required to compute the signature of method foo | ||
| | ||
| Run with both -explain-cyclic and -Ydebug-cyclic to see full stack trace. | ||
| type meow is not a member of object Tuple | ||
-- [E008] Not Found Error: tests/neg/i11994.scala:3:18 ----------------------------------------------------------------- | ||
3 |given [T <: Tuple.meow]: Unit = ??? // error | ||
| ^^^^^^^^^^ | ||
| type meow is not a member of object Tuple. | ||
| Extension methods were tried, but the search failed with: | ||
| | ||
| Cyclic reference involving method given_Unit | ||
| | ||
| The error occurred while trying to compute the signature of given instance given_Unit | ||
| which required to compute the signature of type T | ||
| which required to compute the signature of given instance given_Unit | ||
| | ||
| Run with both -explain-cyclic and -Ydebug-cyclic to see full stack trace. | ||
| type meow is not a member of object Tuple |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,16 @@ | ||
object Main{ | ||
object Foo | ||
object Bar{ type Qux = Unit } | ||
|
||
|
||
implicit def conv(f: Foo.type): Bar.type = Bar | ||
|
||
def B: Bar.type = Bar | ||
|
||
def main(args: Array[String]): Unit = { | ||
val x: Foo.Qux = null // error | ||
val y: B.Qux = null | ||
println(x) | ||
println(y) | ||
} | ||
} |