Добавляет ли Sorbet подписи для стандартной библиотеки?

Я бы хотел, чтобы Sorbet выдавал предупреждение, когда написан такой код:

list = list.sort!

Как я и ожидал, Array#sort! будет типа void


person Vitaliy Yanchuk    schedule 21.06.2019    source источник
comment
Я думаю, вам следует задать вопрос в репозитории sorbet   -  person Martin Zinovsky    schedule 21.06.2019
comment
@MartinZinovsky Команда шербета явно просила вопросы, продолжайте SO   -  person Cereal    schedule 21.06.2019


Ответы (1)


Да, Sorbet включает типы для стандартной библиотеки Ruby. Например, вот аннотация типа для sort! https://github.com/sorbet/sorbet/blob/119e937e9e3b03ec27308cd8874f482791d15864/rbi/core/array.rbi#L670-L677

Обратите внимание, что в Ruby sort! действительно возвращает значение, и Sorbet правильно моделирует это.

person user537862    schedule 21.06.2019
comment
Я вижу, спасибо, я бы просто ожидать, что вроде как! это метод мутации, он не должен возвращать значение - person Vitaliy Yanchuk; 15.08.2019