给出以下代码:
# typed: strict
extend T::Sig
sig { params(x: T::Hash[String,String]).returns(NilClass) }
def foo(x); end
foo("foo" => 123)
我希望Sorbet能够识别出所传递的哈希值参数错误。如何正确声明一个签名,以确保传递的哈希值仅包含允许的值类型?
答案 0 :(得分:2)
不幸的是,这是冰糕中的一个已知问题
https://github.com/sorbet/sorbet/issues/713
您做对了所有事情,而Sorbet让您失望了。请随时关注此问题,但是我们估计,由于我们要维护的其他一些限制,此特定错误将很难修复。