0
我想知道如何在nim中使用“概念”(0.13)。我有以下代码:如何在Nim中使用“概念”?
type
T = concept t
t.a is string
T0 = ref object
a: string
T1 = ref object
a: string
q: string
proc echoT(t: T) : void =
echo "hello " & t.a
echoT(T0(a: "T0"))
echoT(T1(a: "T1", q: "q"))
然而,编译器会在第一次调用echoT:
t.nim(21, 6) Error: type mismatch: got (T0)
不应该在该工作一样用替换echoT
声明:
proc echoT[T](t: T): void = echo "hello " & t.a
(它编译和运行),除了在概念版本中约束 t.a is string
是强制执行的吗?
如何让编译器识别使用某个概念?
Andrew ......嗯......好吧:原创不符合......但是,当我把它放在一个新的地方,它的工作原理!有些东西在原来的地方对我的设置有些screw screw。 (nimcache?)。感谢您的检查。 :) – shaunc