ale*_*ini 5 scala typeclass deriving scala-3 derivingvia
Scala 3 中有没有办法将derives关键字与不透明类型别名结合使用?最好有一种无样板的方法,通过自动依赖基础类型(如果有)的相同类型类的实例来为给定的不透明类型别名提供类型类实例。
如果能够表达类似的东西就好了
opaque type Id = Int
object Id:
given Show[Id] = Show.intShow
Run Code Online (Sandbox Code Playgroud)
对于某些假设的类型类Show,如
opaque type Id = Int derives Show
Run Code Online (Sandbox Code Playgroud)
小智 5
您可以看到syntax.md,目前还没有这样的构造。
另外,即使这样的语法可用,我也不确定这是否应该是默认行为。使用 s 的动机opaque type是将新类型与底层类型区分开来。虽然我明白为什么它会很有用,但不是默认的。
也许类似于 Haskell 的东西deriving via可能是一个很好的补充。它可能是SIP的良好候选者。
| 归档时间: |
|
| 查看次数: |
576 次 |
| 最近记录: |