⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 structural.check

📁 JAVA 语言的函数式编程扩展
💻 CHECK
字号:
structural.scala:3: error: illegal dependent method type  def f(x: { type D; def m: D }) = x.m        ^structural.scala:10: error: Parameter type in structural refinement may not refer to abstract type defined outside that same refinement    def f1[C <: AnyRef](x: AnyRef{ type D <: AnyRef; def m[E >: Null <: AnyRef](x: A): AnyRef; val x: A }) = x.m[Tata](x.x) //fail                                                                                   ^structural.scala:11: error: Parameter type in structural refinement may not refer to abstract type defined outside that same refinement    def f2[C <: AnyRef](x: AnyRef{ type D <: AnyRef; def m[E >: Null <: AnyRef](x: B): AnyRef; val x: B }) = x.m[Tata](x.x) //fail                                                                                   ^structural.scala:12: error: Parameter type in structural refinement may not refer to abstract type defined outside that same refinement    def f3[C <: AnyRef](x: AnyRef{ type D <: AnyRef; def m[E >: Null <: AnyRef](x: C): AnyRef; val x: C }) = x.m[Tata](x.x) //fail                                                                                   ^structural.scala:19: error: illegal dependent method type    def f9[C <: AnyRef](x: AnyRef{ type D <: AnyRef; def m[E >: Null <: AnyRef](x: AnyRef): D }) = x.m[Tata](()) //suceed                        ^structural.scala:42: error: Parameter type in structural refinement may not refer to abstract type defined outside that same refinement  type Summable[T] = { def +(v : T) : T }                                 ^6 errors found

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -