冰糕没有发现明显的哈希签名不匹配

时间:2019-10-25 19:02:46

标签: ruby sorbet

给出以下代码:

# typed: strict

extend T::Sig

sig { params(x: T::Hash[String,String]).returns(NilClass) }
def foo(x); end

foo("foo" => 123)

Playground Link

我希望Sorbet能够识别出所传递的哈希值参数错误。如何正确声明一个签名,以确保传递的哈希值仅包含允许的值类型?

1 个答案:

答案 0 :(得分:2)

不幸的是,这是冰糕中的一个已知问题

https://github.com/sorbet/sorbet/issues/713

您做对了所有事情,而Sorbet让您失望了。请随时关注此问题,但是我们估计,由于我们要维护的其他一些限制,此特定错误将很难修复。