From 60a21d256a08bcdd84b54daf2b76fcf0580f0375 Mon Sep 17 00:00:00 2001 From: Takeshi KOMIYA Date: Wed, 6 May 2026 02:11:15 +0900 Subject: [PATCH] Add sig/manifest.yaml to declare stdlib dependencies `sig/herb/token_list.rbs` declares a class inheriting from `SimpleDelegator`, which comes from the `delegate` standard library. Since `delegate` is a default gem, it does not appear in the gemspec, and `rbs collection install` cannot resolve it on the consumer side. With Steep 2.0, this previously-silent issue surfaces as a hard error: Type checking failed due to error in library RBS file Cannot find type `SimpleDelegator` (.../herb-0.10.1/sig/herb/token_list.rbs:4:2) Diagnostic ID: Ruby::LibraryRBSError Declare the implicit standard library dependencies in `sig/manifest.yaml` so downstream users get correct type resolution. Refs: https://github.com/ruby/rbs/blob/master/docs/gem.md --- herb.gemspec | 1 + sig/manifest.yaml | 13 +++++++++++++ 2 files changed, 14 insertions(+) create mode 100644 sig/manifest.yaml diff --git a/herb.gemspec b/herb.gemspec index 2df46d36d..903e7312a 100644 --- a/herb.gemspec +++ b/herb.gemspec @@ -31,6 +31,7 @@ Gem::Specification.new do |spec| "lib/**/*.rb", "lib/**/*.yml", "sig/**/*.rbs", + "sig/manifest.yaml", "src/**/*.{c,h}", "ext/**/*.{c,h}", "templates/**/*.{rb,erb}", diff --git a/sig/manifest.yaml b/sig/manifest.yaml new file mode 100644 index 000000000..cfbdbb7bf --- /dev/null +++ b/sig/manifest.yaml @@ -0,0 +1,13 @@ +dependencies: + - name: delegate + - name: did_you_mean + - name: fileutils + - name: json + - name: optparse + - name: pathname + - name: socket + - name: stringio + - name: tempfile + - name: time + - name: timeout + - name: yaml