Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby 如何在使用sorbet的项目中包含可枚举项?_Ruby_Sorbet - Fatal编程技术网

Ruby 如何在使用sorbet的项目中包含可枚举项?

Ruby 如何在使用sorbet的项目中包含可枚举项?,ruby,sorbet,Ruby,Sorbet,如果我定义一个可枚举类,比如 #键入:严格 类可数 扩展T::泛型 扩展T::Sig 包括可枚举的 Elem=类型_成员 sig{override.params(blk:T.proc.params(arg:Elem).returns(BasicObject)).returns(NilClass)} 每个def(&blk) 结束 结束 此类型使用srb tc检查很好,但是如果我尝试运行srb rbi update,我会得到一个错误。检查reflection.json.err reflection

如果我定义一个可枚举类,比如

#键入:严格
类可数
扩展T::泛型
扩展T::Sig
包括可枚举的
Elem=类型_成员
sig{override.params(blk:T.proc.params(arg:Elem).returns(BasicObject)).returns(NilClass)}
每个def(&blk)
结束
结束
此类型使用
srb tc
检查很好,但是如果我尝试运行
srb rbi update
,我会得到一个错误。检查
reflection.json.err

reflection.rbi:15619: Type variable `Elem` needs to be declared as `= type_member(SOMETHING)` https://srb.help/5018
       15619 |  Elem = ::T.let(nil, ::T.untyped)
                ^^^^
Elem
声明更改为(即如何定义)

Elem=type_成员(:out)
现在
srb tc
给出了错误

Classes can only have invariant type members https://srb.help/5016
     9 |    Elem = type_member(:out)
            ^^^^^^^^^^^^^^^^^^^^^^^^
Errors: 1
Invalid variance kind, only :out and :in are supported https://srb.help/4011
     9 |    Elem = type_member(:invariant)
                               ^^^^^^^^^^
Errors: 1
Elem
声明更改为

Elem=type_成员(:不变量)
现在
srb tc
给出了错误

Classes can only have invariant type members https://srb.help/5016
     9 |    Elem = type_member(:out)
            ^^^^^^^^^^^^^^^^^^^^^^^^
Errors: 1
Invalid variance kind, only :out and :in are supported https://srb.help/4011
     9 |    Elem = type_member(:invariant)
                               ^^^^^^^^^^
Errors: 1

如何在使用sorbet的项目中实现一个
可枚举的
类,使其在运行
srb rbi update
时既能进行类型检查又不会出错?

这看起来像是sorbet中的一个bug。我不知道有什么解决办法。请将问题提交至。不幸的是,我们的资源有限,因此必须决定如何优先处理此问题。

完成。供参考: