5

根据有关值类的文档,它们可以在多种情况下分配:

分配摘要

值类被视为另一种类型。

一个值类被分配给一个数组。

进行运行时类型测试,例如模式匹配。

无论如何,如果出现这些情况,是否会抛出编译错误?

4

1 回答 1

1

没有任何内置(AFAIK)。

您可以编写一个 SBT 插件,在任务完成.class后检查文件compile(使用 BCEL、ASM 等库),如果找到任何值类构造函数调用,则会失败。

或者,您应该能够使用编译器插件(不幸的是,我能够找到的文档很旧)做同样的事情,但难度更大。

于 2016-05-13T17:38:13.850 回答