scala - 我可以检查我的 Scala 代码库以查找 : "Comparing Unrelated types"? 类型的所有警告吗

标签 scala scala-compiler

我想检查我的代码库以找到“无结果类型测试”警告和“比较无关类型”警告
我们的代码库中基本上有一个相当大的错误,如果我们没有忽略这个警告,这个错误是可以避免的。
我们现在要检查代码以查找我们的代码库中是否还有其他实例?

最佳答案

我已经检查了所有记录在案的 Scala 编译器选项,但没有找到任何与 IntelliJ Idea 类似的东西(我想您正在使用带有 Scala 插件的此 IDE)检查您发布的警告。我猜这是因为 ==操作,然后将其脱糖为 equals从编译的角度来看,方法调用很好:boolean equals(Obejct obj) - 正如你从这个方法签名中看到的,可以传递任何对象类型,因此编译器不会提示这一点。

您可以在此处找到所有 Scala 编译器选项的列表:
https://docs.scala-lang.org/overviews/compiler-options/index.html

在这种情况下你可以做什么

短期看 :使用 Ctr+Alt+Shift+I 对所有项目进行检查组合和类型检查名称 - 例如 Comparing Unrelated types (查看更多详情:https://www.jetbrains.com/help/idea/running-inspections.html)

从长远来看 :使用 Eq类型类来自 cats解决此问题的库:https://typelevel.org/cats/typeclasses/eq.html

希望这可以帮助!

关于scala - 我可以检查我的 Scala 代码库以查找 : "Comparing Unrelated types"? 类型的所有警告吗,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60502244/

相关文章:

Scala示例可帮助巩固书籍知识

scala - 为什么将方法包装在另一个方法中会停止 Scala 中的类型不匹配 - 在模式匹配中的类型参数中使用下划线?

scala - 创建一个模糊的低优先级隐式

Scala - 通过公共(public)元素合并两个元组列表

scala - 类型符号与Scala反射镜之间的关系

mongodb - Spark Mongodb 连接器 Scala - 缺少数据库名称

oop - Scala扩展参数化抽象类

scala - Scala 编译器如何进行隐式转换?

java - 调用目标异常。无法将类 X 转换为类 X。通过 Spark-Submit 在 Scala Imain 中调用时

scala - 动态加载 Scala 编译器插件