如何将遗漏字段警告更改为GHC中的错误

问题描述:

我在haskell-stack项目上使用GHC。我想解除错误字段的警告,直到出现编译错误。如何将遗漏字段警告更改为GHC中的错误

我试图做到以下,但它不起作用。

​​

你能告诉如何解除缺少的字段警告到编译错误吗?

这只适用于GHC 8.2.1及以上版本。如果您使用的是stack,则当前的LTS解析器仅在8.0.2上。要么更新您的GHC(在stack中,这将设置为compiler: ghc-8.2.1),要么只是将全部警告与-Werror -Wmissing-fields一起发生错误,并且保持紧张状态,直到功能更广泛可用。 (如果你触发另一个警告,比如说missing-methods,那么会保留前者的警告,但后者会成为后者的错误。)

+0

非常感谢您提供非常有用的信息!目前我正在使用LTS Haskell 9.1(ghc-8.0.2)。 – redstone

只是使字段严格。这是一个很好的做法,因为它有助于避免空间泄漏并可导致其他优化。如果你不真的依赖懒惰,你可以将字段转换为严格。