文件名称:scala-compiler-plugin
文件大小:12KB
文件格式:ZIP
更新时间:2024-05-29 02:28:51
Scala
Scala编译器插件 动机 type UserId = Int def f(uid: UserId) = ??? val u1 = f(123) // こっちはコンパイルエラーになってくれると嬉しい val u2 = f(456: UserId) 检查内容 当预期类型为T1而检测到的类型为T2如果满足以下条件,则会发生编译错误。 ( T1是类型别名)和( T2是betaReduced但不成为T1 ) 这将使上面的示例成为编译错误。相反,在这种情况下,将UserId传递到请求Int的部分不会导致编译错误。因为我认为这通常更令人愉悦。 *当type参数是类型别名时不支持。还有很多其他实现泄漏... 如何使用 $ sbt stict-type-alias/package $ scalac -Xplugin:strict-type-alias/target/scala-2.11/strict-
【文件预览】:
scala-compiler-plugin-master
----divide-by-zero()
--------src()
----.gitignore(44B)
----sample()
--------TestDivZero.scala(166B)
--------TestAlias.scala(3KB)
----strict-type-alias()
--------src()
----project()
--------plugins.sbt(285B)
--------build.properties(18B)
--------Dependencies.scala(879B)
--------Common.scala(1KB)
--------Build.scala(422B)
----README.md(2KB)