Версия пакета: gem-ruby-ll-2.1.2-alt1.3 Шаги воспроизведения: 1) `$ ruby-ll /usr/lib/ruby/gemie/gems/ruby-ll-2.1.2/examples/math.rll -o math.rb` Фактический результат: /usr/lib/ruby/gemie/gems/ruby-ll-2.1.2/lib/ll/code_generator.rb:27: warning: Passing safe_level with the 2nd argument of ERB.new is deprecated. Do not use it, and specify other arguments as keyword arguments. /usr/lib/ruby/gemie/gems/ruby-ll-2.1.2/lib/ll/code_generator.rb:27: warning: Passing trim_mode with the 3rd argument of ERB.new is deprecated. Use keyword argument like ERB.new(str, trim_mode: ...) instead. Ожидаемый результат: Отсутствие предупреждений.
ну предупрежденіе ошибкой не является :)
Да, предупреждение не приводит к немедленному отказу программы, однако его причина — использование устаревшего API ERB.new, а не ожидаемое поведение Ruby или особенность сборки ALT. В установленной версии gem-ruby-ll-2.1.2-alt1.3 файл lib/ll/code_generator.rb, строка 27, содержит: ERB.new(template, nil, '-') Второй и третий позиционные аргументы (safe_level и trim_mode) устарели. Корректный эквивалент: ERB.new(template, trim_mode: '-') Исправление уже внесено upstream: commit 614eba29eb44b5673dc37db3652be0661d6fe109 — “Fix ERB deprecation warning”: https://github.com/yorickpeterse/ruby-ll/commit/614eba29eb44b5673dc37db3652be0661d6fe109 Поэтому для ALT достаточно применить upstream-патч; он устраняет оба warning и предотвращает будущую несовместимость при удалении legacy API Ruby. Также желательно заменить устаревшую ссылку Vcs в spec: upstream переехал с GitLab на GitHub: https://github.com/yorickpeterse/ruby-ll