问题标签 [migration-manager]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
scala - 移动包私有类——我应该认为二进制不兼容吗?
由于aux
Windows 下的包名称存在问题,我正在从库的包层次结构中移动一个帮助类
到
该类是库私有的,即private[scalainterpreter] object Helper
.
现在使用Typesafe Migration-Manager,显然它报告更改不兼容:
但我怀疑如果客户端代码没有调用任何一个对象,接口仍然兼容,因此我可以使用小版本增加来表示更改,并允许这两个版本互换使用。
正确的?
scala - MiMa 抱怨丢失了一种合成方法,即使我把原来的线放回原处
我正在尝试了解来自 Migration Manager 的以下消息:
该课程NodeGraphImpl
是最后一课,并且ugenGraphs
是private val
. 我所做的是删除以下内容:
我知道private
不是private[this]
,所以理论上删除可能会导致不兼容。好的。
我尝试将这个价值保留在那里。错误仍然没有消失。我的理论是编译器可能会删除该方法,因为它从未被调用过?我尝试创建对该值的虚拟访问,例如
错误仍然没有消失。我还更改了我的快照版本,以确保它不是 MiMa 的缓存问题。那么为什么它坚持缺少那种合成方法呢?
这是原始代码。
假设: MiMa 抱怨的方法是由于getOrElse
从 whereugenGraphs
访问的闭包参数而生成的。如果是这样,考虑新版本的二进制兼容是否仍然安全?
scala - 迁移管理器/二进制兼容性:参考私有的覆盖哈希码[this]
为什么要覆盖hashCode
二进制不兼容的更改:
前:
后:
迁移经理 说:
这真的是个问题吗?或者我可以通过此更改保持相同的次要版本吗?