gpt4 book ai didi

来自参数的Scala路径依赖返回类型

转载 作者:行者123 更新时间:2023-12-04 15:02:01 25 4
gpt4 key购买 nike

在以下代码中,在 Eclipse 插件 2.1.0 中使用 2.10.0M3 for 2.10M3。我正在使用针对 JVM 1.5 的默认设置

class GeomBase[T <: DTypes] {          
abstract class NewObjs {
def newHex(gridR: GridBase, coodI: Cood): gridR.HexRT
}

class GridBase {
selfGrid =>
type HexRT = HexG with T#HexTr

def uniformRect (init: NewObjs) {
val hexCood = Cood(2 ,2)
val hex: HexRT = init.newHex(selfGrid, hexCood)// won't compile
}
}
}

错误信息:
Description Resource Path Location Type type mismatch;
found: GeomBase.this.GridBase#HexG with T#HexTr
required: GridBase.this.HexRT (which expands to) GridBase.this.HexG with T#HexTr GeomBase.scala

为什么编译器认为该方法应该是 GridBase 的这个特定实例时返回类型投影 GridBase#HexG?

编辑转移到一个更简单的代码类,以响应现在收到不同错误消息的注释。
package rStrat
class TestClass {
abstract class NewObjs {
def newHex(gridR: GridBase): gridR.HexG
}
class GridBase {
selfGrid =>

def uniformRect (init: NewObjs) {
val hex: HexG = init.newHex(this) //error here
}

class HexG {
val test12 = 5
}
}
}

.
Error line 11:Description   Resource    Path    Location    Type
type mismatch; found : gridR.HexG required: GridBase.this.HexG
possible cause: missing arguments for method or constructor TestClass.scala /SStrat/src/rStrat line 11 Scala Problem

更新 我已经切换到 2.10.0M4 并在新版本的 Eclipse 上将插件更新到 M4 版本并切换到 JVM 1.6(和 1.7)但问题没有改变。

最佳答案

登录为 SI-5958 - 将其替换为依赖方法类型

关于来自参数的Scala路径依赖返回类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11110409/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com