我想使用路径依赖类型进行静态类型检查。但不幸的是,天真的实现会带来很大的开销:每个内部类示例存储链接到$outer
字段中的封闭对象。
例如:
class A() {
case class B(x : Int)
}
编译类上的javap
输出的一部分:
$ javap -private A\$B.class
Compiled from "Example.scala"
public class example.A$B implements scala.Product,scala.Serializable {
private final int x;
public final example.A $outer;
如何在没有运行时开销的情况下享受静态检查?