Closed
Description
minimized code
- ConfigFactory.java
import java.util.Map;
public class ConfigFactory {
public static void parseMap(Map<String, ? extends Object> values) { }
}
- Test.scala
import scala.jdk.CollectionConverters._
object Test {
ConfigFactory.parseMap(Map("a" -> 1).asJava)
ConfigFactory.parseMap(Map("a" -> "", "b" -> true).asJava)
}
Compilation output
[error] -- [E007] Type Mismatch Error: /Users/thanhbv/ohze/dotty-example/src/main/scala/Test.scala:3:39
[error] 3 | ConfigFactory.parseMap(Map("a" -> 1).asJava)
[error] | ^^^^^^^^^^^^^^^^^^^^
[error] | Found: java.util.Map[String, Int]
[error] | Required: java.util.Map[String, ? <: Object]
[error] -- [E007] Type Mismatch Error: /Users/thanhbv/ohze/dotty-example/src/main/scala/Test.scala:4:53
[error] 4 | ConfigFactory.parseMap(Map("a" -> "", "b" -> true).asJava)
[error] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[error] | Found: java.util.Map[String, Any]
[error] | Required: java.util.Map[String, ? <: Object]
expectation
Compile successfully as in scala 2
Use case: When using "com.typesafe" % "config"
library