scala - 为什么多态方法的eta扩展不会产生多态函数值?
问题描述
Scala 2 没有多态函数值,因此 eta 扩展多态方法只给出
scala> def f[A](a: A): A = ???
def f[A](a: A): A
scala> f _
val res0: Nothing => Nothing = $Lambda$7757/1502613782@45af2c1
然而 Scala 3 确实具有多态函数值,所以为什么 eta 扩展多态方法不提供更多
scala> def f[A](a: A): A = ???
def f[A](a: A): A
scala> f
val res0: Any => Any = Lambda$7538/1430563609@4a905603
scala> val g: ([A] => A => A) = f
1 |val g: ([A] => A => A) = f
| ^
| Found: Any => Any
| Required: PolyFunction{apply: [A](x$1: A): A}
解决方案
推荐阅读
- websocket - 托管服务器端 Blazor 应用程序时 SignalR 出现问题
- angular - Angular 渲染 FormArray,在一页中包含 10k+ 行(每行 15 列)数据
- javascript - 单击多个图像可同时播放多个音频
- google-kubernetes-engine - 在 GKE 上使用 Istio 获取 Envoy 访问日志
- python - 在 Python 中嵌套时展平元组
- angular - ngbTooltip 不适用于动态创建的元素
- java - 如果按钮空闲,如何启动线程?
- java - 在 Java 中创建 UDF 以将一个数据框列映射到另一列
- java - 尝试在 Spoj 中提出问题,我编写的代码被接受,但显示内存使用为 4468mb。是什么导致如此高的内存使用率?
- sendgrid - 通过带有“&”的 sendgrid 发送模板电子邮件时发出警告