小编tim*_*tim的帖子

scala类型系统中的核心演算(递归)

scala编译器中的Typer如何验证以下内容:

class D[T <: D[T]]
class E extends D[E]
Run Code Online (Sandbox Code Playgroud)

D类型参数的上限D [T]必须与E兼容.E型不等于D,因此将检查其基本类型D. 因为E的基类型和D的类型构造函数相等,所以必须检查边界.这是递归.该核心微积分不处理这种情况.

scala

6
推荐指数
1
解决办法
192
查看次数

Scala的类型系统中的错误?

以下scala代码似乎有效:

class A[X]
class C[M[X] <: A[X]]

class Main

new C[A]
Run Code Online (Sandbox Code Playgroud)

我希望编译器在类型A上执行类型推断,但是在我尝试以下操作之后:

new C[A[Int]]
Run Code Online (Sandbox Code Playgroud)

我收到以下错误消息:

(fragment of Main.scala):11: error: this.A[Int] takes no type parameters, expected: one
println( new C[A[Int]] )
Run Code Online (Sandbox Code Playgroud)

scala

5
推荐指数
3
解决办法
1200
查看次数

标签 统计

scala ×2