我开发了一个以implicit engineProvider: ClientSSLEngineProvider
作为构造函数参数的类。当我实例化类时,我在源文件中的任何地方都没有这种类型的隐式定义,但代码编译没有任何错误。当我使用调试器时,我可以看到这个参数是用一些值初始化的。看起来这个隐式是在其他地方定义的(在其中一个导入中)。
如何找到定义它的确切位置?如果重要的话,我会使用IDEA进行开发。
答案 0 :(得分:8)
如果您正在使用sbt,请将此行添加到build.sbt
构建文件中。
scalacOptions in ThisBuild += "-Xlog-implicits"
我还建议您查看ClientSSLEngineProvider
的伴随对象(它是隐含的隐含来源之一)
答案 1 :(得分:5)
也许只需使用-Xprint:typer
查看使用的内容:
$ scala -Xprint:typer
scala> Future(1)
private[this] val res0: scala.concurrent.Future[Int] = scala.concurrent.Future.apply[Int](1)(scala.concurrent.ExecutionContext.Implicits.global);