当使用带有反射的路径依赖类型时,我得到了一个类型不匹配错误,即使我有匹配的“底层类型”。这些“非基础类型”是什么?为什么要检查它们而不是“基础类型”?b1的类型(即A)相同,因此我预计这不会生成错误。由于某些原因,这些依赖路径的类型在使用反射时与“底层类型”不同。为什么?如果我不使用反射,它可以工作:
val
我有一个第三方类,我不能修改。我想添加一个透明的retry功能。因此调用者不知道重试正在幕后进行。我遇到过两种第三方类。一个是我可以扩展的,另一个是不能扩展的(私有或受保护的)。对于我不能扩展的一个,这里是我的解决方案: class 3rdPartyClassA {}
val 3rdpartyobjA = new 3rdPartyClassA() Retry.retry(3rdpartyobjA.doSomething()) //wrapping 3r
Scala很有帮助地提供了一个ListMap,它以牺牲性能为代价使测试变得稳定。因此,我将ImmutableMapFactory抽象为val,并在代码中使用它。class C { ...现在我的计划是扩展C语言并覆盖immutableMapFactory进行测试 override val immutableMapFactory