次のスニペットがあるとします。
type
Base = object of RootObj
Consume*[T: Base] = proc(e: T): bool
次のように、ベースおよびベース コンシューマからいくつかのタイプを定義したいと思います。
type
BaseOne = object of Base
ConsumeOne = Consume[BaseOne]
今、私が新しいものを作成するときConsumeOne
:
let co: ConsumeOne = proc(b: BaseOne): bool = false
次のコンパイラ エラーが発生します。Error: type mismatch: got (proc (b: BaseOne): bool{.gcsafe, locks: 0.}) but expected 'ConsumeOne'
私は何を間違っていますか?