Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/scala/18.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Scala MiMa抱怨失去了一种合成方法,尽管我把原来的路线放回原位_Scala_Binary Compatibility_Migration Manager - Fatal编程技术网

Scala MiMa抱怨失去了一种合成方法,尽管我把原来的路线放回原位

Scala MiMa抱怨失去了一种合成方法,尽管我把原来的路线放回原位,scala,binary-compatibility,migration-manager,Scala,Binary Compatibility,Migration Manager,我试图理解来自迁移管理器的以下消息: Found 1 binary incompatibilities ================================ * synthetic method de$sciss$lucre$synth$impl$NodeGraphImpl$$ugenGraphs()scala.concurrent.stm.Ref in class de.sciss.lucre.synth.impl.NodeGraphImpl does not hav

我试图理解来自迁移管理器的以下消息:

Found 1 binary incompatibilities
================================
 * synthetic method
   de$sciss$lucre$synth$impl$NodeGraphImpl$$ugenGraphs()scala.concurrent.stm.Ref
   in class de.sciss.lucre.synth.impl.NodeGraphImpl does not have a
   correspondent in new version
NodeGraphImpl
是最后一个类,
ugenGraphs
private val
。我所做的是删除以下内容:

private val ugenGraphs = Ref(Map.empty[GraphEquality, SynthDef])
我知道
private
不是
private[this]
,因此从理论上讲,删除可能会导致不兼容。嗯

我试着把这个值保留在那里。这个错误仍然没有消失。我的理论是,编译器可能会删除该方法,因为它从未被调用?我尝试创建对该值的虚拟访问,例如

def foo(): Unit = ugenGraphs.apply()
但错误仍然没有消失。我还更改了快照的版本,以确保它不是MiMa的缓存问题。那么,为什么它坚持不采用这种合成方法呢

是原始代码


假设:MiMa抱怨的方法是由于访问
ugenGraphs
getOrElse
的闭包参数而产生的。如果是这样的话,<强>它仍然是安全的< /强>考虑新版本二进制兼容吗?

< P> >添加原来的<代码> GeStudioFf 方法重命名为<代码> GeSythDeHordy使MIMA再次高兴,所以实际上合成方法必须是由体到<代码> GeStudioFf < /C> >的结果。