Code Monkey home page Code Monkey logo

gem_rbs_collection's Introduction

gem_rbs_collection: A collection of RBS for gems

RBS is a standard type signature syntax for Ruby programs. This is a community-managed collection of RBS files for gems that ship without RBS.

Loading RBS from the repository

You can use rbs collection command to load RBS files from this repository.

# Create rbs_collection.yaml
$ rbs collection init

# Resolve dependencies and install RBS files from this repository
$ rbs collection install

If rbs_collection.yaml exists, the installed RBSs are loaded automatically. You do not need any configuration for rbs and steep commands.

See collection.md in ruby/rbs repository for more details.

How to contribute

See CONTRIBUTING.md

gem_rbs_collection's People

Contributors

adrian-hirt avatar alts avatar craftscat avatar dependabot[bot] avatar fugakkbn avatar greendrop avatar hanazuki avatar honeyryderchuck avatar kenchan avatar kotaokubo avatar ksss avatar m-yamashita01 avatar m11o avatar mame avatar nipe0324 avatar nogtk avatar osatoh avatar paradoxv5 avatar pocke avatar raosush avatar sadgb avatar soutaro avatar sue445 avatar takahashim avatar tatematsu-k avatar tk0miya avatar vtryo avatar ybiquitous avatar yyamanoi1222 avatar yykamei avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

gem_rbs_collection's Issues

When set Retryable's option, UnexpectedError occurred.

I tried to use gem_rbs_collection w/ this code,
then UnexpectedError happened on Retryable steep check in this code

Screen Shot 2021-11-05 at 15 30 42

If I did Retryable configuration w/

Retryable.configure do |config|
  config.sleep = 1
end

Retryable.retryable do
  results = FizzBuzz.run(Date.today.day)
  puts results
end

it worked.

Do you have any idea to avoid this Diagnostic ID: Ruby::UnexpectedError?

Add an initialier for gem RBS

I propose adding an initializer for gem RBS. It generates the boilerplate of gem RBS under gems/ directory. It makes contributions easier (and I really want it!).

For example, I imagine an interactive command.

$ bin/new_gem GEM_NAME
Gem version you want to add (MAJOR.MINOR is recommended. e.g. 4.2):
> 4.2

GitHub Repository (default: skip adding git submodule):
> https://github.com/USER/REPO.git

# Create directory gems/GEM_NAME/4.2
# Create file gems/GEM_NAME/4.2/GEM_NAME.rbs
# Create directory gems/GEM_NAME/4.2/_test/
# Create file gems/GEM_NAME/4.2/_test/Steepfile
# Runs `git submodule add https://github.com/USER/REPO.git gems/GEM_NAME/4.2/_src

# Print a message for the next steps, such as "Generate a prototype with rbs prototype or typeprof command!" etc

`::Integer.to_s` method doesn't accept Symbol

num = 1000.to_s(:delimited)

This line gets error below;

::Hash[::Symbol, ::String]

Cannot find compatible overloading of method `to_s` of type `::Integer`
Method types:
  def to_s: () -> ::String
          | (2) -> ::String
          | (3) -> ::String
          | (4) -> ::String
          | (5) -> ::String
          | (6) -> ::String
          | (7) -> ::String
          | (8) -> ::String
          | (9) -> ::String
          | (10) -> ::String
          | (11) -> ::String
          | (12) -> ::String
          | (13) -> ::String
          | (14) -> ::String
          | (15) -> ::String
          | (16) -> ::String
          | (17) -> ::String
          | (18) -> ::String
          | (19) -> ::String
          | (20) -> ::String
          | (21) -> ::String
          | (22) -> ::String
          | (23) -> ::String
          | (24) -> ::String
          | (25) -> ::String
          | (26) -> ::String
          | (27) -> ::String
          | (28) -> ::String
          | (29) -> ::String
          | (30) -> ::String
          | (31) -> ::String
          | (32) -> ::String
          | (33) -> ::String
          | (34) -> ::String
          | (35) -> ::String
          | (36) -> ::String
          | (::int) -> ::String(Ruby::UnresolvedOverloading)

[Documentation] Runtime testing using filename

Description

  • RBS does not support filename based runtime testing using CLI command rbs test

Explanation

  • RBS uses Open3.capture3 to run a command for executing runtime tests.
  • If a filename is passed as an argument to rbs test command, Open3.capture3 executes the filename as a command, due to which a Permission denied error is thrown.
    image
  • This error is because a filename cannot be executed as a command, using Open3.capture3, which throws permission denied error.

Could not find super class: ::Rails::Generators::Base (RBS::NoSuperclassFoundError)

Gemfile

source "https://rubygems.org"

gem "dotenv", "2.7.6"
gem "activesupport", "7.0.0"
gem "sinatra", "2.1.0"
gem "sinatra-activerecord", "2.0.25"

rbs validates gets error when I use

gem "sinatra-activerecord", "2.0.25"

command

bundle
rbs collection init
rbs collection install
rbs validate

error

Validating class/module definition: `::ActiveRecord::Generators::ApplicationRecordGenerator`...
/Users/fumi/.rbenv/versions/3.1.0/lib/ruby/gems/3.1.0/gems/rbs-2.0.0/lib/rbs/errors.rb:149:in `check!': .gem_rbs_collection/activerecord/6.1/activerecord-generated.rbs:24958:4...24965:7: Could not find super class: ::Rails::Generators::Base (RBS::NoSuperclassFoundError)
        from /Users/fumi/.rbenv/versions/3.1.0/lib/ruby/gems/3.1.0/gems/rbs-2.0.0/lib/rbs/definition_builder/ancestor_builder.rb:211:in `one_instance_ancestors'
        from /Users/fumi/.rbenv/versions/3.1.0/lib/ruby/gems/3.1.0/gems/rbs-2.0.0/lib/rbs/definition_builder/ancestor_builder.rb:397:in `instance_ancestors'
        from /Users/fumi/.rbenv/versions/3.1.0/lib/ruby/gems/3.1.0/gems/rbs-2.0.0/lib/rbs/definition_builder.rb:142:in `block in build_instance'
        from /Users/fumi/.rbenv/versions/3.1.0/lib/ruby/gems/3.1.0/gems/rbs-2.0.0/lib/rbs/definition_builder.rb:794:in `try_cache'
        from /Users/fumi/.rbenv/versions/3.1.0/lib/ruby/gems/3.1.0/gems/rbs-2.0.0/lib/rbs/definition_builder.rb:136:in `build_instance'
        from /Users/fumi/.rbenv/versions/3.1.0/lib/ruby/gems/3.1.0/gems/rbs-2.0.0/lib/rbs/cli.rb:435:in `block in run_validate'
        from /Users/fumi/.rbenv/versions/3.1.0/lib/ruby/gems/3.1.0/gems/rbs-2.0.0/lib/rbs/cli.rb:433:in `each'
        from /Users/fumi/.rbenv/versions/3.1.0/lib/ruby/gems/3.1.0/gems/rbs-2.0.0/lib/rbs/cli.rb:433:in `run_validate'
        from /Users/fumi/.rbenv/versions/3.1.0/lib/ruby/gems/3.1.0/gems/rbs-2.0.0/lib/rbs/cli.rb:125:in `run'
        from /Users/fumi/.rbenv/versions/3.1.0/lib/ruby/gems/3.1.0/gems/rbs-2.0.0/exe/rbs:7:in `<top (required)>'
        from /Users/fumi/.rbenv/versions/3.1.0/bin/rbs:25:in `load'
        from /Users/fumi/.rbenv/versions/3.1.0/bin/rbs:25:in `<main>'

Definition of 'parsed_response' method in httparty.rbs is wrong.

In the file httparty.rbs, the method parsed_response is inaccurately documented to return a string. However, upon examining the source code, it's clear that the parsed_response method's return type is determined by the Content-Type header of the HTTP response. The potential return types include:

  • nil (if the HTTP response has no body),
  • String,
  • Array[Array[untyped]], or
  • Hash.

It's important to note that users have the ability to override the parser, as illustrated in the code documentation. This flexibility allows for a variety of user-defined return types, making this a potentially common scenario. Given this recommended usage of the API, it would be wise to change the return type of 'parsed_response' to 'Object'.

Update RBS for Rack

I am currently tinkering with Rack and RBS, using this collection for Rackโ€™s RBS. Unfortunately, it is quite lacklustre. It looks like it was partially prepared by @mame and TypeProf through #36 and never touched since.

  • This RBS document demands a good amount of polishing to be successful.

Iโ€™ve inquired about Rackโ€™s opinion on developing RBS themselves through rack/rack#1967. In summary, their consensus is that RBSโ€™s benefits arenโ€™t significant enough to justify the labour of coercing Rackโ€™s duck types to RBSโ€™s static typing. In that discussion, I highlighted: [Update: #232 covers this blockquote]

However, it has possible mistakes and undocumented fields. Examples from Rack::Response alone:

  • The attribute Rack::Response#body should probably follow the SPEC ยง The Body, but the RBS restricts it to one or an Array of Rack::Lint or nil.
  • Iโ€™ve been working around the above with Rack::Response.[], whose args are untyped in the RBS.
  • Rack::Response#each is also missing RBS of &block.
[Significatly modified section starts]
  • Besides filling in the blanks, note that Rack just got a new major version recently (Rack 3). Regarding the leap to Rack 3, a question yet to be answered is if we, as third-party volunteers, should attempt to catch up with Rackโ€™s development (without publishing unusable snapshots) or simply freeze at Rack 2. Keep in Mind that a complete RBS of Rack doesnโ€™t provide a unique convenience (yet) perhaps besides pocke/rbs_rails#174, especially since Rackโ€™s YARDocs and Rack::Lint already detail acceptable types (static or duck) equal to or better than a set of RBS could.

`ActionView::Helpers::RenderingHelper#render` has incorrect block signature

When calling the #render method from a helper in a Rails app, for example:

module ApplicationHelper
  def render_partial(name, options)
    render(partial: name, **options)
  end
end

the current type definitions throw an error when validating in Steep due to an incorrect signature:
rbs:

module ApplicationHelper : ActionView::Helpers
  def render_partial: (String name, Hash[Symbol, untyped] options) -> String
end

steep output:

[error] The method cannot be called without a block
โ”‚ Diagnostic ID: Ruby::RequiredBlockMissing
โ”‚
โ””     render(
      ~~~~~~

This specific one comes from ActionView::Helpers::RenderingHelper#render, which is defined on https://github.com/ruby/gem_rbs_collection/blob/main/gems/actionview/6.0/actionview-generated.rbs#L6603

      def render: (?::Hash[untyped, untyped] options, ?::Hash[untyped, untyped] locals) { () -> untyped } -> untyped

The patch to fix it is to make the block optional, ie ?{ () -> untyped }

I'm happy to make a PR to address, but not sure if you would prefer to update the generated files or the patch.

Auto check manifest.yaml

Problem

gem's RBS often requires manifest.yaml, but there is no easy way to verify the correctness of this file.
We can use rbs collection install to install dependent RBSs and run rbs validate. However, this method is laborious.

What we want to do

Verify format

It is easy to check the format of YAML.

Check if the given name is stdlib

I think it is possible to check if it is the name of stdlib from rbs.

Check if we are missing a dependency

When we run rbs validate and steep check and steep stats in _scripts/test, we load manifest.yaml and add it to the dependencies.

This should cause the test to fail if missing.

Check if we have too many dependencies

This check is difficult .......

Implementation

  • Implement bin/check-manifest-yaml.rb and check the structure of the yaml file, etc.
  • Add the following changes to bin/init_new_gem and existing test code.
    • Add to call bin/check-manifest-yaml.rb in _scripts/test
    • Load manifest.yaml when rbs validate in _scripts/test.
    • Load manifest.yaml in Steepfile

Conflict with rbs update in Steep

The rbs update creates a conflict with gem_rbs_collection.
The error message :
::Hash#except has duplicated definitions

I had to comment the two definitions (except and except!) to remove the conflict but it is just a workaround.

#ย gem_rbs_collection/gems/activesupport/6.0.3.2/activesupport-generated.rbs
# line 3327

class Hash[unchecked out K, unchecked out V]
  # Returns a hash that includes everything except given keys.
  #   hash = { a: true, b: false, c: nil }
  #   hash.except(:c)     # => { a: true, b: false }
  #   hash.except(:a, :b) # => { c: nil }
  #   hash                # => { a: true, b: false, c: nil }
  #
  # This is useful for limiting a set of parameters to everything but a few known toggles:
  #   @person.update(params[:person].except(:admin))
  def except: (*untyped keys) -> untyped

  # Removes the given keys from hash and returns it.
  #   hash = { a: true, b: false, c: nil }
  #   hash.except!(:c) # => { a: true, b: false }
  #   hash             # => { a: true, b: false }
  def except!: (*untyped keys) -> untyped
end

Should I open an issue on rbs too ?
Thanks

Unknown method alias name: xmlschema => rfc3339

I've just installed rbs with rbs collection in a new project, where I'm using steep and capping activesupport to ~> 6.0due to a recent rails 7 bug with steep. After installing, I run rbs validate and I get the following error:

Validating class/module definition: `::Thread::SizedQueue`...
Validating class/module definition: `::ThreadGroup`...
Validating class/module definition: `::Time`...
bundler: failed to load command: rbs (/home/.bundle/ruby/3.0.0/bin/rbs)
/home/.bundle/ruby/3.0.0/gems/rbs-1.8.1/lib/rbs/definition_builder.rb:567:in `block in define_methods': .gem_rbs_collection/activesupport/6.0/activesupport-generated.rbs:6167:2...6167:25: Unknown method alias name: xmlschema => rfc3339 (::
Time) (RBS::UnknownMethodAliasError)
        from /home/.bundle/ruby/3.0.0/gems/rbs-1.8.1/lib/rbs/definition_builder/method_builder.rb:50:in `block in each'
        from /home/.rubies/ruby-3.0.1/lib/ruby/3.0.0/tsort.rb:350:in `block (2 levels) in each_strongly_connected_component'
....

Cannot find type `ActiveModel::Errors`

ใฟใ‚“ใชใ•ใ‚“ใ“ใ‚“ใซใกใฏใ€‚
ใ‚ขใƒฌใ‚ฏใ‚ตใƒณใƒ€ใƒผใงใ™ใ€‚
ๆ—ฅๆœฌ่ชžRBSใ‚’ๅ‹‰ๅผทใ—ใฆใ‚‹ใ€‚

I installed rbs, rbs collection, added activemodel to rbs_collection.yaml

Then, I created type for controller concern module like this:

module EventScoped
  extend ActiveSupport::Concern

  ...
  def respond_with_errors: (ActiveModel::Errors errors) -> void
  ...
end

However I'm getting error:

app/controllers/concerns/event_scoped.rbs:12:28: [error] Cannot find type `ActiveModel::Errors`
โ”‚ Diagnostic ID: RBS::UnknownTypeName
โ”‚
โ””   def respond_with_errors: (ActiveModel::Errors errors) -> void
                              ~~~~~~~~~~~~~~~~~~~

I see ActiveModel::Errors defined in activemodel/6.0/activemodel-generated.rbs
But do not understand why steep do not see this definition.

Could you please help me make it work?

"Type `singleton(::Event)` does not have method `find_by`",

Hello,

Trying to set this up here on a project using ActiveRecord.

class Event < ActiveRecord::Base
end

with the following type definition

class Event < ActiveRecord::Base
  attr_accessor email: String
end

if I try to use

Event.find_by(id: 1)

I get the following error message

Type `singleton(::Event)` does not have method `find_by`

My Steepfile is as follows

target :app do
  signature 'app/**/*.rbs'
  check 'main.rb'
  check 'app'

  repo_path 'vendor/rbs/gem_rbs_collection/gems'
  ignore "vendor/**/*.rb"

  library 'pathname'
  library 'logger'
  library 'mutex_m'
  library 'date'
  library 'monitor'
  library 'singleton'
  library 'tsort'

  library 'activesupport'
  library 'actionpack'
  library 'activejob'
  library 'activemodel'
  library 'actionview'
  library 'activerecord'
  library 'railties'
end

Adding types for webrick, nats, grpc

Hello!
I am interested in adding types for webrick, nats and grpc to this repository โ˜บ๏ธ.
If you think that this is a good idea, please, write me and I will start working on a PR with webrick types to demonstrate how it would look like.

RBS added to aws-sdk-ruby gem itself

https://aws.amazon.com/jp/blogs/developer/announcing-rbs-support-for-aws-sdk-for-ruby-v3/

All aws-sdk-ruby related gems now include RBS.
Therefore, the gem_rbs_collection side seems to be no longer needed.
How do we deal with this?

Possible problem

The RBS on the gem_rbs_collection side is not compatible with the RBS on the gem side.
Using aws-sdk-core on gem_rbs_collection side and aws-sdk-xray on gem side will cause problems when reading RBS.

Idea

  • Leave the gem_rbs_collection side for a while.
  • Remove gem_rbs_collection/aws-sdk-*.

Problem with `ActiveRecord::Type::Value`

There is a problem with current gem_rbs_collection when trying to use Steep in an application that uses ActiveRecord::Type::Value.

If I create a class that extends the class with class Foo < ActiveRecord::Type::Value, I get the following error.

[error] Cannot find type `ActiveRecord::Type::Value`
โ”‚ Diagnostic ID: RBS::UnknownTypeName

But when I try to add ActiveRecord::Type::Value to my rbs files, I get the following error.

[error] Declaration of `::ActiveRecord::Type::Value` is duplicated
โ”‚ Diagnostic ID: RBS::DuplicatedDeclaration

I guess this is because the current ActiveRecord::Type::Value is defined as an untyped constant.

https://github.com/rails/rails/blob/e75682b0f84c6ad607c62ea377b69876fd13f32d/activerecord/lib/active_record/type.rb#L67

I think we should not define as a constant and make it a class definition. What do you think?

Activesupport unknown types

I submodule included these as suggested in the README.md, but I'm getting a bunch of errors that I didn't expect.

My project uses ActiveSupport 6.1.3.2

target :lib do
  repo_path "vendor/rbs/gem_rbs_collection/gems"
  signature "sig"
  check "lib"                       # Directory name
  ignore "lib/main.rb"
  ignore "vendor/**/*.rb"
  
  library "set"
  library "time"
  library "json"
  library "redis"
  library "activesupport"
end
bundle exec steep check
# Type checking files:

.................F....................................................................

vendor/rbs/gem_rbs_collection/gems/activesupport/6.0.3.2/activesupport-generated.rbs:1786:4: [error] Cannot find type `Monitor`
โ”‚ Diagnostic ID: RBS::UnknownTypeName
โ”‚
โ””     class LoadInterlockAwareMonitor < Monitor
      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

vendor/rbs/gem_rbs_collection/gems/activesupport/6.0.3.2/activesupport-generated.rbs:1805:6: [error] Cannot find type `MonitorMixin`
โ”‚ Diagnostic ID: RBS::UnknownTypeName
โ”‚
โ””       include MonitorMixin
        ~~~~~~~~~~~~~~~~~~~~

vendor/rbs/gem_rbs_collection/gems/activesupport/6.0.3.2/activesupport-generated.rbs:7133:4: [error] Cannot find type `Singleton`
โ”‚ Diagnostic ID: RBS::UnknownTypeName
โ”‚
โ””     include Singleton
      ~~~~~~~~~~~~~~~~~

vendor/rbs/gem_rbs_collection/gems/activesupport/6.0.3.2/activesupport-generated.rbs:8888:8: [error] Cannot find type `::Logger::Severity`
โ”‚ Diagnostic ID: RBS::UnknownTypeName
โ”‚
โ””         include ::Logger::Severity
          ~~~~~~~~~~~~~~~~~~~~~~~~~~

vendor/rbs/gem_rbs_collection/gems/activesupport/6.0.3.2/activesupport-generated.rbs:9016:2: [error] Cannot find type `::Logger`
โ”‚ Diagnostic ID: RBS::UnknownTypeName
โ”‚
โ””   class Logger < ::Logger
    ~~~~~~~~~~~~~~~~~~~~~~~

vendor/rbs/gem_rbs_collection/gems/activesupport/6.0.3.2/activesupport-generated.rbs:9031:4: [error] Cannot find type `::Logger::Formatter`
โ”‚ Diagnostic ID: RBS::UnknownTypeName
โ”‚
โ””     class SimpleFormatter < ::Logger::Formatter
      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

vendor/rbs/gem_rbs_collection/gems/activesupport/6.0.3.2/activesupport-generated.rbs:9697:6: [error] Cannot find type `Mutex_m`
โ”‚ Diagnostic ID: RBS::UnknownTypeName
โ”‚
โ””       include Mutex_m
        ~~~~~~~~~~~~~~~

Detected 7 problems from 1 file

Can't calculate Time with Numeric from ActiveSupport

This line works

Time.now - 1.days

but RBS catches this as type error below;

[error] Cannot find compatible overloading of method `-` of type `::Time`
โ”‚ Method types:
โ”‚   def -: (::Time) -> ::Float
โ”‚        | (::Numeric) -> ::Time
โ”‚
โ”‚ Diagnostic ID: Ruby::UnresolvedOverloading
โ”‚
โ””         datetime: (Time.now - 1.days).beginning_of_day..(Time.now - day.days).end_of_day

Process for generating types for new aws-sdk gems

I'm using aws-sdk-ssm and would love to have types for that - I've seen there's a generator but I don't see how it correlates with the handful of aws-sdk gems that are in this repo? i.e. I don't see anywhere a list that has just the clients that are currently here, but then this repo doesn't already have every aws client.

What's the process for generating the types for new clients?

Improve README as beginners' guide

Hi, there.

When I read README, I spent time to know what the most recommended way to use gem_rbs_collection is.

For example, the README describes the easiest way is to use the git submodule command, but I understand the most recommended way is to use the rbs collection command today, as this @pocke's article explains.

And, since the current README doesn't refer to TypeProf, I feel a bit unhelpful for TypeProf users.

So, I suggest:

  • adds how to use gem_rbs_collection with rbs collection first
    • it may be just good to add a simple description and a link to the rbs collection doc
  • adds the usage with TypeProf
  • sort each usage in order of frequency or importance, e.g.
    • rbs collection (standard)
    • TypeProf (standard)
    • Steep (mostly used)
    • git submodule
    • etc.

What do you think about the suggestion? Welcome to any feedback!
I could also rewrite the README if you would hope.

Thanks.

`ActiveRecord::Associations::CollectionProxy#build` has incorrect block signature

When creating a new ActiveRecord model through an association, for example:

class Post < ActiveRecord::Base
  has_many comments
end

class Comment < ActiveRecord::Base
  belongs_to :post
end

post = Post.new
comment = post.comments.new

the current type definitions throw an error when validating in Steep due to an incorrect signature:

 [error] The method cannot be called without a block
โ”‚ Diagnostic ID: Ruby::RequiredBlockMissing
โ”‚
โ””     @comment = post.comments.new
                               ~~~

This specific one comes from ActiveRecord::Associations::CollectionProxy#new(build), which is defined on https://github.com/ruby/gem_rbs_collection/blob/main/gems/activerecord/6.0/activerecord-generated.rbs#L1156-L1158

      def build: (?::Hash[untyped, untyped] attributes) { () -> untyped } -> untyped

      alias new build

The patch to fix it is to make the block optional, ie ?{ () -> untyped }

There is another method definition under ActiveRecord::AssociationRelation that likely also needs to be updated: https://github.com/ruby/gem_rbs_collection/blob/main/gems/activerecord/6.0/activerecord-generated.rbs#L259-L261

I'm happy to make a PR to address, but not sure if you would prefer to update the generated files or the patch.

aws-sdk signature issues

I found the following inconsistencies in the aws SDK signatures, which are done via a generator:

message/body/message_body parameters in S3/SQS clients are incorrectly typed to "only IO"

Those parameters can also be a string (it seems that Aws::S3::Types::body and the same variant in SQS should have been handling that instead, when defined as. ::IO | String).

SQS client "send_message" incorrectly typed as well

send_message receives two hashes as parameters, "params" and "options". The RBS signature uses kwargs and mixes parameters from each. Ideally it should be using RBS records for each (although it's probably not possible because of this).

Aws::SQS::Errors::InvalidParameterValue error is missing

Potentially more are?

Non-overloading method of `#to_time` in `Time::` on ActiveSupport

After updating to the latest RBS/Steep versions (2.6.0 and 1.0.1 respectively), we are getting the following error after running steep check:

.gem_rbs_collection/activesupport/6.0/activesupport-generated.rbs:6115:2: [error] Non-overloading method definition of `to_time` in `::Time` cannot be duplicated
โ”‚ Diagnostic ID: RBS::DuplicatedMethodDefinition
โ”‚
โ””   def to_time: () -> untyped
    ~~~~~~~~~~~~~~~~~~~~~~~~~~

see:

class Time
include DateAndTime::Compatibility
# Either return +self+ or the time in the local system timezone depending
# on the setting of +ActiveSupport.to_time_preserves_timezone+.
def to_time: () -> untyped
end

This was added in RBS 2.6.0 at ruby/rbs#1033 by @ksss, but the type definitions here have not been updated for ActiveSupport

Invalid definition for ActiveStorage 6.1

When including ActiveStorage in a Steepfile, the following error occurs:

gem_rbs/gems/activestorage/6.1/app/models/active_storage/blob.rbs:166:42: [error] Cannot find type `Tempfile`
โ”‚ Diagnostic ID: RBS::UnknownTypeName
โ”‚
โ””   def open: (?tmpdir: untyped? tmpdir) { (Tempfile) -> untyped } -> untyped

Line in question:

def open: (?tmpdir: untyped? tmpdir) { (Tempfile) -> untyped } -> untyped

Method Definition from rails:
https://github.com/rails/rails/blob/d38ff07a39c98f5db2b15ca3a51acee48c972205/activestorage/app/models/active_storage/blob.rb#L275-L278

It seems the signature should be updated to:

def open: (?tmpdir: untyped? tmpdir) { (untyped) -> untyped } -> untyped

can't use ActiveRecord::Base.default_timezone

How to define default_timezone ?

ActiveRecord::Base.default_timezone = :local

this gets an error below;

Type `singleton(::ActiveRecord::Base)` does not have method `default_timezone=`(Ruby::NoMethod)

cannot install ActiveRecord 6.1 rbs on windows because of symlinks

activerecord/6.1/activerecord-generated.rbs and activerecord/6.1/activerecord.rbs are symlinks, so they're cannot be installed on windows.
On windows, symlinks aren't resolved, so the rbs are just file of ../6.0/activerecord-generated.rbs (or ../6.0/activerecord.rbs).

(Maybe I should post the issue to ruby/rbs?)

Syntax errors after updating to RBS 1.3.1

After updating to RBS 1.3.1, I see the following syntax errors from the generated actionpack signatures when running steep check. Output below:

bundle exec steep check
# Type checking files:

#<RBS::Parser::SyntaxError: parse error on value: #<RBS::Parser::LocatedValue:0x00007f8bd14dd5f0 @location=#<RBS::Location:5240 @buffer=/Users/john/Documents/GitHub/repo/gem_rbs/gems/actionpack/6.0/actionpack-generated.rbs, @pos=210321...210335, source='_cache_control', start_line=5751, start_column=10>, @value="_cache_control"> (tUNDERSCOREIDENT)>
  parser.y:1757:in `on_error'
  (eval):3:in `_racc_do_parse_c'
  (eval):3:in `do_parse'
  parser.y:1458:in `parse_signature'
  /Users/john/.rbenv/versions/3.0.2/lib/ruby/gems/3.0.0/gems/rbs-1.3.1/lib/rbs/environment_loader.rb:127:in `block (2 levels) in each_decl'
  /Users/john/.rbenv/versions/3.0.2/lib/ruby/gems/3.0.0/gems/rbs-1.3.1/lib/rbs/environment_loader.rb:97:in `each_file'
  /Users/john/.rbenv/versions/3.0.2/lib/ruby/gems/3.0.0/gems/rbs-1.3.1/lib/rbs/environment_loader.rb:110:in `block in each_file'
  /Users/john/.rbenv/versions/3.0.2/lib/ruby/gems/3.0.0/gems/rbs-1.3.1/lib/rbs/environment_loader.rb:109:in `each'
  /Users/john/.rbenv/versions/3.0.2/lib/ruby/gems/3.0.0/gems/rbs-1.3.1/lib/rbs/environment_loader.rb:109:in `each_file'
  /Users/john/.rbenv/versions/3.0.2/lib/ruby/gems/3.0.0/gems/rbs-1.3.1/lib/rbs/environment_loader.rb:121:in `block in each_decl'
  /Users/john/.rbenv/versions/3.0.2/lib/ruby/gems/3.0.0/gems/rbs-1.3.1/lib/rbs/environment_loader.rb:84:in `block in each_dir'
  /Users/john/.rbenv/versions/3.0.2/lib/ruby/gems/3.0.0/gems/rbs-1.3.1/lib/rbs/environment_loader.rb:75:in `each'
  /Users/john/.rbenv/versions/3.0.2/lib/ruby/gems/3.0.0/gems/rbs-1.3.1/lib/rbs/environment_loader.rb:75:in `each_dir'
  /Users/john/.rbenv/versions/3.0.2/lib/ruby/gems/3.0.0/gems/rbs-1.3.1/lib/rbs/environment_loader.rb:118:in `each_decl'
  /Users/john/.rbenv/versions/3.0.2/lib/ruby/gems/3.0.0/gems/rbs-1.3.1/lib/rbs/environment_loader.rb:62:in `load'
  /Users/john/.rbenv/versions/3.0.2/lib/ruby/gems/3.0.0/gems/rbs-1.3.1/lib/rbs/environment.rb:129:in `block in from_loader'
  <internal:kernel>:90:in `tap'
  /Users/john/.rbenv/versions/3.0.2/lib/ruby/gems/3.0.0/gems/rbs-1.3.1/lib/rbs/environment.rb:128:in `from_loader'
  /Users/john/.rbenv/versions/3.0.2/lib/ruby/gems/3.0.0/gems/steep-0.44.1/lib/steep/services/signature_service.rb:70:in `load_from'
  /Users/john/.rbenv/versions/3.0.2/lib/ruby/gems/3.0.0/gems/steep-0.44.1/lib/steep/services/type_check_service.rb:95:in `block in initialize'
  /Users/john/.rbenv/versions/3.0.2/lib/ruby/gems/3.0.0/gems/steep-0.44.1/lib/steep/services/type_check_service.rb:93:in `each'
  /Users/john/.rbenv/versions/3.0.2/lib/ruby/gems/3.0.0/gems/steep-0.44.1/lib/steep/services/type_check_service.rb:93:in `with_object'
  /Users/john/.rbenv/versions/3.0.2/lib/ruby/gems/3.0.0/gems/steep-0.44.1/lib/steep/services/type_check_service.rb:93:in `initialize'
  /Users/john/.rbenv/versions/3.0.2/lib/ruby/gems/3.0.0/gems/steep-0.44.1/lib/steep/server/type_check_worker.rb:46:in `new'
  /Users/john/.rbenv/versions/3.0.2/lib/ruby/gems/3.0.0/gems/steep-0.44.1/lib/steep/server/type_check_worker.rb:46:in `initialize'
  /Users/john/.rbenv/versions/3.0.2/lib/ruby/gems/3.0.0/gems/steep-0.44.1/lib/steep/drivers/worker.rb:33:in `new'
  /Users/john/.rbenv/versions/3.0.2/lib/ruby/gems/3.0.0/gems/steep-0.44.1/lib/steep/drivers/worker.rb:33:in `block in run'
  /Users/john/.rbenv/versions/3.0.2/lib/ruby/gems/3.0.0/gems/activesupport-6.1.4/lib/active_support/tagged_logging.rb:99:in `block in tagged'
  /Users/john/.rbenv/versions/3.0.2/lib/ruby/gems/3.0.0/gems/activesupport-6.1.4/lib/active_support/tagged_logging.rb:37:in `tagged'
  /Users/john/.rbenv/versions/3.0.2/lib/ruby/gems/3.0.0/gems/activesupport-6.1.4/lib/active_support/tagged_logging.rb:99:in `tagged'
  /Users/john/.rbenv/versions/3.0.2/lib/ruby/gems/3.0.0/gems/steep-0.44.1/lib/steep/drivers/worker.rb:24:in `run'
  /Users/john/.rbenv/versions/3.0.2/lib/ruby/gems/3.0.0/gems/steep-0.44.1/lib/steep/cli.rb:213:in `process_worker'
  /Users/john/.rbenv/versions/3.0.2/lib/ruby/gems/3.0.0/gems/steep-0.44.1/lib/steep/cli.rb:52:in `run'
  /Users/john/.rbenv/versions/3.0.2/lib/ruby/gems/3.0.0/gems/steep-0.44.1/exe/steep:11:in `<top (required)>'
  /Users/john/.rbenv/versions/3.0.2/bin/steep:23:in `load'
  /Users/john/.rbenv/versions/3.0.2/bin/steep:23:in `<main>'
#<RBS::Parser::SyntaxError: parse error on value: #<RBS::Parser::LocatedValue:0x00007faa04404a10 @location=#<RBS::Location:5240 @buffer=/Users/john/Documents/GitHub/repo/gem_rbs/gems/actionpack/6.0/actionpack-generated.rbs, @pos=210321...210335, source='_cache_control', start_line=5751, start_column=10>, @value="_cache_control"> (tUNDERSCOREIDENT)>
  parser.y:1757:in `on_error'
  (eval):3:in `_racc_do_parse_c'
  (eval):3:in `do_parse'
  parser.y:1458:in `parse_signature'
  /Users/john/.rbenv/versions/3.0.2/lib/ruby/gems/3.0.0/gems/rbs-1.3.1/lib/rbs/environment_loader.rb:127:in `block (2 levels) in each_decl'
  /Users/john/.rbenv/versions/3.0.2/lib/ruby/gems/3.0.0/gems/rbs-1.3.1/lib/rbs/environment_loader.rb:97:in `each_file'
  /Users/john/.rbenv/versions/3.0.2/lib/ruby/gems/3.0.0/gems/rbs-1.3.1/lib/rbs/environment_loader.rb:110:in `block in each_file'
  /Users/john/.rbenv/versions/3.0.2/lib/ruby/gems/3.0.0/gems/rbs-1.3.1/lib/rbs/environment_loader.rb:109:in `each'
  /Users/john/.rbenv/versions/3.0.2/lib/ruby/gems/3.0.0/gems/rbs-1.3.1/lib/rbs/environment_loader.rb:109:in `each_file'
  /Users/john/.rbenv/versions/3.0.2/lib/ruby/gems/3.0.0/gems/rbs-1.3.1/lib/rbs/environment_loader.rb:121:in `block in each_decl'
  /Users/john/.rbenv/versions/3.0.2/lib/ruby/gems/3.0.0/gems/rbs-1.3.1/lib/rbs/environment_loader.rb:84:in `block in each_dir'
  /Users/john/.rbenv/versions/3.0.2/lib/ruby/gems/3.0.0/gems/rbs-1.3.1/lib/rbs/environment_loader.rb:75:in `each'
  /Users/john/.rbenv/versions/3.0.2/lib/ruby/gems/3.0.0/gems/rbs-1.3.1/lib/rbs/environment_loader.rb:75:in `each_dir'
  /Users/john/.rbenv/versions/3.0.2/lib/ruby/gems/3.0.0/gems/rbs-1.3.1/lib/rbs/environment_loader.rb:118:in `each_decl'
  /Users/john/.rbenv/versions/3.0.2/lib/ruby/gems/3.0.0/gems/rbs-1.3.1/lib/rbs/environment_loader.rb:62:in `load'
  /Users/john/.rbenv/versions/3.0.2/lib/ruby/gems/3.0.0/gems/rbs-1.3.1/lib/rbs/environment.rb:129:in `block in from_loader'
  <internal:kernel>:90:in `tap'
  /Users/john/.rbenv/versions/3.0.2/lib/ruby/gems/3.0.0/gems/rbs-1.3.1/lib/rbs/environment.rb:128:in `from_loader'
  /Users/john/.rbenv/versions/3.0.2/lib/ruby/gems/3.0.0/gems/steep-0.44.1/lib/steep/services/signature_service.rb:70:in `load_from'
  /Users/john/.rbenv/versions/3.0.2/lib/ruby/gems/3.0.0/gems/steep-0.44.1/lib/steep/services/type_check_service.rb:95:in `block in initialize'
  /Users/john/.rbenv/versions/3.0.2/lib/ruby/gems/3.0.0/gems/steep-0.44.1/lib/steep/services/type_check_service.rb:93:in `each'
  /Users/john/.rbenv/versions/3.0.2/lib/ruby/gems/3.0.0/gems/steep-0.44.1/lib/steep/services/type_check_service.rb:93:in `with_object'
  /Users/john/.rbenv/versions/3.0.2/lib/ruby/gems/3.0.0/gems/steep-0.44.1/lib/steep/services/type_check_service.rb:93:in `initialize'
  /Users/john/.rbenv/versions/3.0.2/lib/ruby/gems/3.0.0/gems/steep-0.44.1/lib/steep/server/type_check_worker.rb:46:in `new'
  /Users/john/.rbenv/versions/3.0.2/lib/ruby/gems/3.0.0/gems/steep-0.44.1/lib/steep/server/type_check_worker.rb:46:in `initialize'
  /Users/john/.rbenv/versions/3.0.2/lib/ruby/gems/3.0.0/gems/steep-0.44.1/lib/steep/drivers/worker.rb:33:in `new'
  /Users/john/.rbenv/versions/3.0.2/lib/ruby/gems/3.0.0/gems/steep-0.44.1/lib/steep/drivers/worker.rb:33:in `block in run'
  /Users/john/.rbenv/versions/3.0.2/lib/ruby/gems/3.0.0/gems/activesupport-6.1.4/lib/active_support/tagged_logging.rb:99:in `block in tagged'
  /Users/john/.rbenv/versions/3.0.2/lib/ruby/gems/3.0.0/gems/activesupport-6.1.4/lib/active_support/tagged_logging.rb:37:in `tagged'
  /Users/john/.rbenv/versions/3.0.2/lib/ruby/gems/3.0.0/gems/activesupport-6.1.4/lib/active_support/tagged_logging.rb:99:in `tagged'
  /Users/john/.rbenv/versions/3.0.2/lib/ruby/gems/3.0.0/gems/steep-0.44.1/lib/steep/drivers/worker.rb:24:in `run'
  /Users/john/.rbenv/versions/3.0.2/lib/ruby/gems/3.0.0/gems/steep-0.44.1/lib/steep/cli.rb:213:in `process_worker'
  /Users/john/.rbenv/versions/3.0.2/lib/ruby/gems/3.0.0/gems/steep-0.44.1/lib/steep/cli.rb:52:in `run'
  /Users/john/.rbenv/versions/3.0.2/lib/ruby/gems/3.0.0/gems/steep-0.44.1/exe/steep:11:in `<top (required)>'
  /Users/john/.rbenv/versions/3.0.2/bin/steep:23:in `load'
  /Users/john/.rbenv/versions/3.0.2/bin/steep:23:in `<main>'
#<RBS::Parser::SyntaxError: parse error on value: #<RBS::Parser::LocatedValue:0x00007f8ecb38ddd8 @location=#<RBS::Location:5240 @buffer=/Users/john/Documents/GitHub/repo/gem_rbs/gems/actionpack/6.0/actionpack-generated.rbs, @pos=210321...210335, source='_cache_control', start_line=5751, start_column=10>, @value="_cache_control"> (tUNDERSCOREIDENT)>
  parser.y:1757:in `on_error'
  (eval):3:in `_racc_do_parse_c'
  (eval):3:in `do_parse'
  parser.y:1458:in `parse_signature'
  /Users/john/.rbenv/versions/3.0.2/lib/ruby/gems/3.0.0/gems/rbs-1.3.1/lib/rbs/environment_loader.rb:127:in `block (2 levels) in each_decl'
  /Users/john/.rbenv/versions/3.0.2/lib/ruby/gems/3.0.0/gems/rbs-1.3.1/lib/rbs/environment_loader.rb:97:in `each_file'
  /Users/john/.rbenv/versions/3.0.2/lib/ruby/gems/3.0.0/gems/rbs-1.3.1/lib/rbs/environment_loader.rb:110:in `block in each_file'
  /Users/john/.rbenv/versions/3.0.2/lib/ruby/gems/3.0.0/gems/rbs-1.3.1/lib/rbs/environment_loader.rb:109:in `each'
  /Users/john/.rbenv/versions/3.0.2/lib/ruby/gems/3.0.0/gems/rbs-1.3.1/lib/rbs/environment_loader.rb:109:in `each_file'
  /Users/john/.rbenv/versions/3.0.2/lib/ruby/gems/3.0.0/gems/rbs-1.3.1/lib/rbs/environment_loader.rb:121:in `block in each_decl'
  /Users/john/.rbenv/versions/3.0.2/lib/ruby/gems/3.0.0/gems/rbs-1.3.1/lib/rbs/environment_loader.rb:84:in `block in each_dir'
  /Users/john/.rbenv/versions/3.0.2/lib/ruby/gems/3.0.0/gems/rbs-1.3.1/lib/rbs/environment_loader.rb:75:in `each'
  /Users/john/.rbenv/versions/3.0.2/lib/ruby/gems/3.0.0/gems/rbs-1.3.1/lib/rbs/environment_loader.rb:75:in `each_dir'
  /Users/john/.rbenv/versions/3.0.2/lib/ruby/gems/3.0.0/gems/rbs-1.3.1/lib/rbs/environment_loader.rb:118:in `each_decl'
  /Users/john/.rbenv/versions/3.0.2/lib/ruby/gems/3.0.0/gems/rbs-1.3.1/lib/rbs/environment_loader.rb:62:in `load'
  /Users/john/.rbenv/versions/3.0.2/lib/ruby/gems/3.0.0/gems/rbs-1.3.1/lib/rbs/environment.rb:129:in `block in from_loader'
  <internal:kernel>:90:in `tap'
  /Users/john/.rbenv/versions/3.0.2/lib/ruby/gems/3.0.0/gems/rbs-1.3.1/lib/rbs/environment.rb:128:in `from_loader'
  /Users/john/.rbenv/versions/3.0.2/lib/ruby/gems/3.0.0/gems/steep-0.44.1/lib/steep/services/signature_service.rb:70:in `load_from'
  /Users/john/.rbenv/versions/3.0.2/lib/ruby/gems/3.0.0/gems/steep-0.44.1/lib/steep/services/type_check_service.rb:95:in `block in initialize'
  /Users/john/.rbenv/versions/3.0.2/lib/ruby/gems/3.0.0/gems/steep-0.44.1/lib/steep/services/type_check_service.rb:93:in `each'
  /Users/john/.rbenv/versions/3.0.2/lib/ruby/gems/3.0.0/gems/steep-0.44.1/lib/steep/services/type_check_service.rb:93:in `with_object'
  /Users/john/.rbenv/versions/3.0.2/lib/ruby/gems/3.0.0/gems/steep-0.44.1/lib/steep/services/type_check_service.rb:93:in `initialize'
  /Users/john/.rbenv/versions/3.0.2/lib/ruby/gems/3.0.0/gems/steep-0.44.1/lib/steep/server/type_check_worker.rb:46:in `new'
  /Users/john/.rbenv/versions/3.0.2/lib/ruby/gems/3.0.0/gems/steep-0.44.1/lib/steep/server/type_check_worker.rb:46:in `initialize'
  /Users/john/.rbenv/versions/3.0.2/lib/ruby/gems/3.0.0/gems/steep-0.44.1/lib/steep/drivers/worker.rb:33:in `new'
  /Users/john/.rbenv/versions/3.0.2/lib/ruby/gems/3.0.0/gems/steep-0.44.1/lib/steep/drivers/worker.rb:33:in `block in run'
  /Users/john/.rbenv/versions/3.0.2/lib/ruby/gems/3.0.0/gems/activesupport-6.1.4/lib/active_support/tagged_logging.rb:99:in `block in tagged'
  /Users/john/.rbenv/versions/3.0.2/lib/ruby/gems/3.0.0/gems/activesupport-6.1.4/lib/active_support/tagged_logging.rb:37:in `tagged'
  /Users/john/.rbenv/versions/3.0.2/lib/ruby/gems/3.0.0/gems/activesupport-6.1.4/lib/active_support/tagged_logging.rb:99:in `tagged'
  /Users/john/.rbenv/versions/3.0.2/lib/ruby/gems/3.0.0/gems/steep-0.44.1/lib/steep/drivers/worker.rb:24:in `run'
  /Users/john/.rbenv/versions/3.0.2/lib/ruby/gems/3.0.0/gems/steep-0.44.1/lib/steep/cli.rb:213:in `process_worker'
  /Users/john/.rbenv/versions/3.0.2/lib/ruby/gems/3.0.0/gems/steep-0.44.1/lib/steep/cli.rb:52:in `run'
  /Users/john/.rbenv/versions/3.0.2/lib/ruby/gems/3.0.0/gems/steep-0.44.1/exe/steep:11:in `<top (required)>'
  /Users/john/.rbenv/versions/3.0.2/bin/steep:23:in `load'
  /Users/john/.rbenv/versions/3.0.2/bin/steep:23:in `<main>'
#<RBS::Parser::SyntaxError: parse error on value: #<RBS::Parser::LocatedValue:0x00007fd0904039f0 @location=#<RBS::Location:5240 @buffer=/Users/john/Documents/GitHub/repo/gem_rbs/gems/actionpack/6.0/actionpack-generated.rbs, @pos=210321...210335, source='_cache_control', start_line=5751, start_column=10>, @value="_cache_control"> (tUNDERSCOREIDENT)>
  parser.y:1757:in `on_error'
  (eval):3:in `_racc_do_parse_c'
  (eval):3:in `do_parse'
  parser.y:1458:in `parse_signature'
  /Users/john/.rbenv/versions/3.0.2/lib/ruby/gems/3.0.0/gems/rbs-1.3.1/lib/rbs/environment_loader.rb:127:in `block (2 levels) in each_decl'
  /Users/john/.rbenv/versions/3.0.2/lib/ruby/gems/3.0.0/gems/rbs-1.3.1/lib/rbs/environment_loader.rb:97:in `each_file'
  /Users/john/.rbenv/versions/3.0.2/lib/ruby/gems/3.0.0/gems/rbs-1.3.1/lib/rbs/environment_loader.rb:110:in `block in each_file'
  /Users/john/.rbenv/versions/3.0.2/lib/ruby/gems/3.0.0/gems/rbs-1.3.1/lib/rbs/environment_loader.rb:109:in `each'
  /Users/john/.rbenv/versions/3.0.2/lib/ruby/gems/3.0.0/gems/rbs-1.3.1/lib/rbs/environment_loader.rb:109:in `each_file'
  /Users/john/.rbenv/versions/3.0.2/lib/ruby/gems/3.0.0/gems/rbs-1.3.1/lib/rbs/environment_loader.rb:121:in `block in each_decl'
  /Users/john/.rbenv/versions/3.0.2/lib/ruby/gems/3.0.0/gems/rbs-1.3.1/lib/rbs/environment_loader.rb:84:in `block in each_dir'
  /Users/john/.rbenv/versions/3.0.2/lib/ruby/gems/3.0.0/gems/rbs-1.3.1/lib/rbs/environment_loader.rb:75:in `each'
  /Users/john/.rbenv/versions/3.0.2/lib/ruby/gems/3.0.0/gems/rbs-1.3.1/lib/rbs/environment_loader.rb:75:in `each_dir'
  /Users/john/.rbenv/versions/3.0.2/lib/ruby/gems/3.0.0/gems/rbs-1.3.1/lib/rbs/environment_loader.rb:118:in `each_decl'
  /Users/john/.rbenv/versions/3.0.2/lib/ruby/gems/3.0.0/gems/rbs-1.3.1/lib/rbs/environment_loader.rb:62:in `load'
  /Users/john/.rbenv/versions/3.0.2/lib/ruby/gems/3.0.0/gems/rbs-1.3.1/lib/rbs/environment.rb:129:in `block in from_loader'
  <internal:kernel>:90:in `tap'
  /Users/john/.rbenv/versions/3.0.2/lib/ruby/gems/3.0.0/gems/rbs-1.3.1/lib/rbs/environment.rb:128:in `from_loader'
  /Users/john/.rbenv/versions/3.0.2/lib/ruby/gems/3.0.0/gems/steep-0.44.1/lib/steep/services/signature_service.rb:70:in `load_from'
  /Users/john/.rbenv/versions/3.0.2/lib/ruby/gems/3.0.0/gems/steep-0.44.1/lib/steep/services/type_check_service.rb:95:in `block in initialize'
  /Users/john/.rbenv/versions/3.0.2/lib/ruby/gems/3.0.0/gems/steep-0.44.1/lib/steep/services/type_check_service.rb:93:in `each'
  /Users/john/.rbenv/versions/3.0.2/lib/ruby/gems/3.0.0/gems/steep-0.44.1/lib/steep/services/type_check_service.rb:93:in `with_object'
  /Users/john/.rbenv/versions/3.0.2/lib/ruby/gems/3.0.0/gems/steep-0.44.1/lib/steep/services/type_check_service.rb:93:in `initialize'
  /Users/john/.rbenv/versions/3.0.2/lib/ruby/gems/3.0.0/gems/steep-0.44.1/lib/steep/server/type_check_worker.rb:46:in `new'
  /Users/john/.rbenv/versions/3.0.2/lib/ruby/gems/3.0.0/gems/steep-0.44.1/lib/steep/server/type_check_worker.rb:46:in `initialize'
  /Users/john/.rbenv/versions/3.0.2/lib/ruby/gems/3.0.0/gems/steep-0.44.1/lib/steep/drivers/worker.rb:33:in `new'
  /Users/john/.rbenv/versions/3.0.2/lib/ruby/gems/3.0.0/gems/steep-0.44.1/lib/steep/drivers/worker.rb:33:in `block in run'
  /Users/john/.rbenv/versions/3.0.2/lib/ruby/gems/3.0.0/gems/activesupport-6.1.4/lib/active_support/tagged_logging.rb:99:in `block in tagged'
  /Users/john/.rbenv/versions/3.0.2/lib/ruby/gems/3.0.0/gems/activesupport-6.1.4/lib/active_support/tagged_logging.rb:37:in `tagged'
  /Users/john/.rbenv/versions/3.0.2/lib/ruby/gems/3.0.0/gems/activesupport-6.1.4/lib/active_support/tagged_logging.rb:99:in `tagged'
  /Users/john/.rbenv/versions/3.0.2/lib/ruby/gems/3.0.0/gems/steep-0.44.1/lib/steep/drivers/worker.rb:24:in `run'
  /Users/john/.rbenv/versions/3.0.2/lib/ruby/gems/3.0.0/gems/steep-0.44.1/lib/steep/cli.rb:213:in `process_worker'
  /Users/john/.rbenv/versions/3.0.2/lib/ruby/gems/3.0.0/gems/steep-0.44.1/lib/steep/cli.rb:52:in `run'
  /Users/john/.rbenv/versions/3.0.2/lib/ruby/gems/3.0.0/gems/steep-0.44.1/exe/steep:11:in `<top (required)>'
  /Users/john/.rbenv/versions/3.0.2/bin/steep:23:in `load'
  /Users/john/.rbenv/versions/3.0.2/bin/steep:23:in `<main>'
#<RBS::Parser::SyntaxError: parse error on value: #<RBS::Parser::LocatedValue:0x00007fdd271113c0 @location=#<RBS::Location:5240 @buffer=/Users/john/Documents/GitHub/repo/gem_rbs/gems/actionpack/6.0/actionpack-generated.rbs, @pos=210321...210335, source='_cache_control', start_line=5751, start_column=10>, @value="_cache_control"> (tUNDERSCOREIDENT)>
  parser.y:1757:in `on_error'
  (eval):3:in `_racc_do_parse_c'
  (eval):3:in `do_parse'
  parser.y:1458:in `parse_signature'
  /Users/john/.rbenv/versions/3.0.2/lib/ruby/gems/3.0.0/gems/rbs-1.3.1/lib/rbs/environment_loader.rb:127:in `block (2 levels) in each_decl'
  /Users/john/.rbenv/versions/3.0.2/lib/ruby/gems/3.0.0/gems/rbs-1.3.1/lib/rbs/environment_loader.rb:97:in `each_file'
  /Users/john/.rbenv/versions/3.0.2/lib/ruby/gems/3.0.0/gems/rbs-1.3.1/lib/rbs/environment_loader.rb:110:in `block in each_file'
  /Users/john/.rbenv/versions/3.0.2/lib/ruby/gems/3.0.0/gems/rbs-1.3.1/lib/rbs/environment_loader.rb:109:in `each'
  /Users/john/.rbenv/versions/3.0.2/lib/ruby/gems/3.0.0/gems/rbs-1.3.1/lib/rbs/environment_loader.rb:109:in `each_file'
  /Users/john/.rbenv/versions/3.0.2/lib/ruby/gems/3.0.0/gems/rbs-1.3.1/lib/rbs/environment_loader.rb:121:in `block in each_decl'
  /Users/john/.rbenv/versions/3.0.2/lib/ruby/gems/3.0.0/gems/rbs-1.3.1/lib/rbs/environment_loader.rb:84:in `block in each_dir'
  /Users/john/.rbenv/versions/3.0.2/lib/ruby/gems/3.0.0/gems/rbs-1.3.1/lib/rbs/environment_loader.rb:75:in `each'
#<RBS::Parser::SyntaxError: parse error on value: #<RBS::Parser::LocatedValue:0x00007fc0c5264d90 @location=#<RBS::Location:5240 @buffer=/Users/john/Documents/GitHub/repo/gem_rbs/gems/actionpack/6.0/actionpack-generated.rbs, @pos=210321...210335, source='_cache_control', start_line=5751, start_column=10>, @value="_cache_control"> (tUNDERSCOREIDENT)>
#<RBS::Parser::SyntaxError: parse error on value: #<RBS::Parser::LocatedValue:0x00007f88c52efa18 @location=#<RBS::Location:5240 @buffer=/Users/john/Documents/GitHub/repo/gem_rbs/gems/actionpack/6.0/actionpack-generated.rbs, @pos=210321...210335, source='_cache_control', start_line=5751, start_column=10>, @value="_cache_control"> (tUNDERSCOREIDENT)>
  /Users/john/.rbenv/versions/3.0.2/lib/ruby/gems/3.0.0/gems/rbs-1.3.1/lib/rbs/environment_loader.rb:75:in `each_dir'
  /Users/john/.rbenv/versions/3.0.2/lib/ruby/gems/3.0.0/gems/rbs-1.3.1/lib/rbs/environment_loader.rb:118:in `each_decl'
  /Users/john/.rbenv/versions/3.0.2/lib/ruby/gems/3.0.0/gems/rbs-1.3.1/lib/rbs/environment_loader.rb:62:in `load'
  /Users/john/.rbenv/versions/3.0.2/lib/ruby/gems/3.0.0/gems/rbs-1.3.1/lib/rbs/environment.rb:129:in `block in from_loader'
  <internal:kernel>:90:in `tap'
  /Users/john/.rbenv/versions/3.0.2/lib/ruby/gems/3.0.0/gems/rbs-1.3.1/lib/rbs/environment.rb:128:in `from_loader'
  /Users/john/.rbenv/versions/3.0.2/lib/ruby/gems/3.0.0/gems/steep-0.44.1/lib/steep/services/signature_service.rb:70:in `load_from'
  /Users/john/.rbenv/versions/3.0.2/lib/ruby/gems/3.0.0/gems/steep-0.44.1/lib/steep/services/type_check_service.rb:95:in `block in initialize'
  /Users/john/.rbenv/versions/3.0.2/lib/ruby/gems/3.0.0/gems/steep-0.44.1/lib/steep/services/type_check_service.rb:93:in `each'
  /Users/john/.rbenv/versions/3.0.2/lib/ruby/gems/3.0.0/gems/steep-0.44.1/lib/steep/services/type_check_service.rb:93:in `with_object'
  /Users/john/.rbenv/versions/3.0.2/lib/ruby/gems/3.0.0/gems/steep-0.44.1/lib/steep/services/type_check_service.rb:93:in `initialize'
  /Users/john/.rbenv/versions/3.0.2/lib/ruby/gems/3.0.0/gems/steep-0.44.1/lib/steep/server/type_check_worker.rb:46:in `new'
  /Users/john/.rbenv/versions/3.0.2/lib/ruby/gems/3.0.0/gems/steep-0.44.1/lib/steep/server/type_check_worker.rb:46:in `initialize'
  /Users/john/.rbenv/versions/3.0.2/lib/ruby/gems/3.0.0/gems/steep-0.44.1/lib/steep/drivers/worker.rb:33:in `new'
  parser.y:1757:in `on_error'
  /Users/john/.rbenv/versions/3.0.2/lib/ruby/gems/3.0.0/gems/steep-0.44.1/lib/steep/drivers/worker.rb:33:in `block in run'
  parser.y:1757:in `on_error'
  /Users/john/.rbenv/versions/3.0.2/lib/ruby/gems/3.0.0/gems/activesupport-6.1.4/lib/active_support/tagged_logging.rb:99:in `block in tagged'
  /Users/john/.rbenv/versions/3.0.2/lib/ruby/gems/3.0.0/gems/activesupport-6.1.4/lib/active_support/tagged_logging.rb:37:in `tagged'
  /Users/john/.rbenv/versions/3.0.2/lib/ruby/gems/3.0.0/gems/activesupport-6.1.4/lib/active_support/tagged_logging.rb:99:in `tagged'
  /Users/john/.rbenv/versions/3.0.2/lib/ruby/gems/3.0.0/gems/steep-0.44.1/lib/steep/drivers/worker.rb:24:in `run'
  /Users/john/.rbenv/versions/3.0.2/lib/ruby/gems/3.0.0/gems/steep-0.44.1/lib/steep/cli.rb:213:in `process_worker'
  /Users/john/.rbenv/versions/3.0.2/lib/ruby/gems/3.0.0/gems/steep-0.44.1/lib/steep/cli.rb:52:in `run'
  (eval):3:in `_racc_do_parse_c'
  /Users/john/.rbenv/versions/3.0.2/lib/ruby/gems/3.0.0/gems/steep-0.44.1/exe/steep:11:in `<top (required)>'
  /Users/john/.rbenv/versions/3.0.2/bin/steep:23:in `load'
  /Users/john/.rbenv/versions/3.0.2/bin/steep:23:in `<main>'
  (eval):3:in `do_parse'
  parser.y:1458:in `parse_signature'
  (eval):3:in `_racc_do_parse_c'
  /Users/john/.rbenv/versions/3.0.2/lib/ruby/gems/3.0.0/gems/rbs-1.3.1/lib/rbs/environment_loader.rb:127:in `block (2 levels) in each_decl'
  /Users/john/.rbenv/versions/3.0.2/lib/ruby/gems/3.0.0/gems/rbs-1.3.1/lib/rbs/environment_loader.rb:97:in `each_file'
  /Users/john/.rbenv/versions/3.0.2/lib/ruby/gems/3.0.0/gems/rbs-1.3.1/lib/rbs/environment_loader.rb:110:in `block in each_file'
  /Users/john/.rbenv/versions/3.0.2/lib/ruby/gems/3.0.0/gems/rbs-1.3.1/lib/rbs/environment_loader.rb:109:in `each'
  /Users/john/.rbenv/versions/3.0.2/lib/ruby/gems/3.0.0/gems/rbs-1.3.1/lib/rbs/environment_loader.rb:109:in `each_file'
  /Users/john/.rbenv/versions/3.0.2/lib/ruby/gems/3.0.0/gems/rbs-1.3.1/lib/rbs/environment_loader.rb:121:in `block in each_decl'
  /Users/john/.rbenv/versions/3.0.2/lib/ruby/gems/3.0.0/gems/rbs-1.3.1/lib/rbs/environment_loader.rb:84:in `block in each_dir'
  /Users/john/.rbenv/versions/3.0.2/lib/ruby/gems/3.0.0/gems/rbs-1.3.1/lib/rbs/environment_loader.rb:75:in `each'
  /Users/john/.rbenv/versions/3.0.2/lib/ruby/gems/3.0.0/gems/rbs-1.3.1/lib/rbs/environment_loader.rb:75:in `each_dir'
  /Users/john/.rbenv/versions/3.0.2/lib/ruby/gems/3.0.0/gems/rbs-1.3.1/lib/rbs/environment_loader.rb:118:in `each_decl'
  /Users/john/.rbenv/versions/3.0.2/lib/ruby/gems/3.0.0/gems/rbs-1.3.1/lib/rbs/environment_loader.rb:62:in `load'
  /Users/john/.rbenv/versions/3.0.2/lib/ruby/gems/3.0.0/gems/rbs-1.3.1/lib/rbs/environment.rb:129:in `block in from_loader'
  <internal:kernel>:90:in `tap'
  /Users/john/.rbenv/versions/3.0.2/lib/ruby/gems/3.0.0/gems/rbs-1.3.1/lib/rbs/environment.rb:128:in `from_loader'
  /Users/john/.rbenv/versions/3.0.2/lib/ruby/gems/3.0.0/gems/steep-0.44.1/lib/steep/services/signature_service.rb:70:in `load_from'
  /Users/john/.rbenv/versions/3.0.2/lib/ruby/gems/3.0.0/gems/steep-0.44.1/lib/steep/services/type_check_service.rb:95:in `block in initialize'
  /Users/john/.rbenv/versions/3.0.2/lib/ruby/gems/3.0.0/gems/steep-0.44.1/lib/steep/services/type_check_service.rb:93:in `each'
  /Users/john/.rbenv/versions/3.0.2/lib/ruby/gems/3.0.0/gems/steep-0.44.1/lib/steep/services/type_check_service.rb:93:in `with_object'
  /Users/john/.rbenv/versions/3.0.2/lib/ruby/gems/3.0.0/gems/steep-0.44.1/lib/steep/services/type_check_service.rb:93:in `initialize'
  (eval):3:in `do_parse'
  parser.y:1458:in `parse_signature'
  /Users/john/.rbenv/versions/3.0.2/lib/ruby/gems/3.0.0/gems/rbs-1.3.1/lib/rbs/environment_loader.rb:127:in `block (2 levels) in each_decl'
  /Users/john/.rbenv/versions/3.0.2/lib/ruby/gems/3.0.0/gems/rbs-1.3.1/lib/rbs/environment_loader.rb:97:in `each_file'
  /Users/john/.rbenv/versions/3.0.2/lib/ruby/gems/3.0.0/gems/rbs-1.3.1/lib/rbs/environment_loader.rb:110:in `block in each_file'
  /Users/john/.rbenv/versions/3.0.2/lib/ruby/gems/3.0.0/gems/rbs-1.3.1/lib/rbs/environment_loader.rb:109:in `each'
  /Users/john/.rbenv/versions/3.0.2/lib/ruby/gems/3.0.0/gems/rbs-1.3.1/lib/rbs/environment_loader.rb:109:in `each_file'
  /Users/john/.rbenv/versions/3.0.2/lib/ruby/gems/3.0.0/gems/rbs-1.3.1/lib/rbs/environment_loader.rb:121:in `block in each_decl'
  /Users/john/.rbenv/versions/3.0.2/lib/ruby/gems/3.0.0/gems/rbs-1.3.1/lib/rbs/environment_loader.rb:84:in `block in each_dir'
  /Users/john/.rbenv/versions/3.0.2/lib/ruby/gems/3.0.0/gems/steep-0.44.1/lib/steep/server/type_check_worker.rb:46:in `new'
  /Users/john/.rbenv/versions/3.0.2/lib/ruby/gems/3.0.0/gems/steep-0.44.1/lib/steep/server/type_check_worker.rb:46:in `initialize'
  /Users/john/.rbenv/versions/3.0.2/lib/ruby/gems/3.0.0/gems/steep-0.44.1/lib/steep/drivers/worker.rb:33:in `new'
  /Users/john/.rbenv/versions/3.0.2/lib/ruby/gems/3.0.0/gems/steep-0.44.1/lib/steep/drivers/worker.rb:33:in `block in run'
  /Users/john/.rbenv/versions/3.0.2/lib/ruby/gems/3.0.0/gems/activesupport-6.1.4/lib/active_support/tagged_logging.rb:99:in `block in tagged'
  /Users/john/.rbenv/versions/3.0.2/lib/ruby/gems/3.0.0/gems/activesupport-6.1.4/lib/active_support/tagged_logging.rb:37:in `tagged'
  /Users/john/.rbenv/versions/3.0.2/lib/ruby/gems/3.0.0/gems/activesupport-6.1.4/lib/active_support/tagged_logging.rb:99:in `tagged'
  /Users/john/.rbenv/versions/3.0.2/lib/ruby/gems/3.0.0/gems/steep-0.44.1/lib/steep/drivers/worker.rb:24:in `run'
  /Users/john/.rbenv/versions/3.0.2/lib/ruby/gems/3.0.0/gems/steep-0.44.1/lib/steep/cli.rb:213:in `process_worker'
  /Users/john/.rbenv/versions/3.0.2/lib/ruby/gems/3.0.0/gems/steep-0.44.1/lib/steep/cli.rb:52:in `run'
  /Users/john/.rbenv/versions/3.0.2/lib/ruby/gems/3.0.0/gems/steep-0.44.1/exe/steep:11:in `<top (required)>'
  /Users/john/.rbenv/versions/3.0.2/bin/steep:23:in `load'
  /Users/john/.rbenv/versions/3.0.2/bin/steep:23:in `<main>'
  /Users/john/.rbenv/versions/3.0.2/lib/ruby/gems/3.0.0/gems/rbs-1.3.1/lib/rbs/environment_loader.rb:75:in `each'
  /Users/john/.rbenv/versions/3.0.2/lib/ruby/gems/3.0.0/gems/rbs-1.3.1/lib/rbs/environment_loader.rb:75:in `each_dir'
  /Users/john/.rbenv/versions/3.0.2/lib/ruby/gems/3.0.0/gems/rbs-1.3.1/lib/rbs/environment_loader.rb:118:in `each_decl'
  /Users/john/.rbenv/versions/3.0.2/lib/ruby/gems/3.0.0/gems/rbs-1.3.1/lib/rbs/environment_loader.rb:62:in `load'
  /Users/john/.rbenv/versions/3.0.2/lib/ruby/gems/3.0.0/gems/rbs-1.3.1/lib/rbs/environment.rb:129:in `block in from_loader'
  <internal:kernel>:90:in `tap'
  /Users/john/.rbenv/versions/3.0.2/lib/ruby/gems/3.0.0/gems/rbs-1.3.1/lib/rbs/environment.rb:128:in `from_loader'
  /Users/john/.rbenv/versions/3.0.2/lib/ruby/gems/3.0.0/gems/steep-0.44.1/lib/steep/services/signature_service.rb:70:in `load_from'
  /Users/john/.rbenv/versions/3.0.2/lib/ruby/gems/3.0.0/gems/steep-0.44.1/lib/steep/services/type_check_service.rb:95:in `block in initialize'
  /Users/john/.rbenv/versions/3.0.2/lib/ruby/gems/3.0.0/gems/steep-0.44.1/lib/steep/services/type_check_service.rb:93:in `each'
  /Users/john/.rbenv/versions/3.0.2/lib/ruby/gems/3.0.0/gems/steep-0.44.1/lib/steep/services/type_check_service.rb:93:in `with_object'
  /Users/john/.rbenv/versions/3.0.2/lib/ruby/gems/3.0.0/gems/steep-0.44.1/lib/steep/services/type_check_service.rb:93:in `initialize'
  /Users/john/.rbenv/versions/3.0.2/lib/ruby/gems/3.0.0/gems/steep-0.44.1/lib/steep/server/type_check_worker.rb:46:in `new'
  /Users/john/.rbenv/versions/3.0.2/lib/ruby/gems/3.0.0/gems/steep-0.44.1/lib/steep/server/type_check_worker.rb:46:in `initialize'
  /Users/john/.rbenv/versions/3.0.2/lib/ruby/gems/3.0.0/gems/steep-0.44.1/lib/steep/drivers/worker.rb:33:in `new'
  /Users/john/.rbenv/versions/3.0.2/lib/ruby/gems/3.0.0/gems/steep-0.44.1/lib/steep/drivers/worker.rb:33:in `block in run'
  /Users/john/.rbenv/versions/3.0.2/lib/ruby/gems/3.0.0/gems/activesupport-6.1.4/lib/active_support/tagged_logging.rb:99:in `block in tagged'
  /Users/john/.rbenv/versions/3.0.2/lib/ruby/gems/3.0.0/gems/activesupport-6.1.4/lib/active_support/tagged_logging.rb:37:in `tagged'
  /Users/john/.rbenv/versions/3.0.2/lib/ruby/gems/3.0.0/gems/activesupport-6.1.4/lib/active_support/tagged_logging.rb:99:in `tagged'
  /Users/john/.rbenv/versions/3.0.2/lib/ruby/gems/3.0.0/gems/steep-0.44.1/lib/steep/drivers/worker.rb:24:in `run'
  /Users/john/.rbenv/versions/3.0.2/lib/ruby/gems/3.0.0/gems/steep-0.44.1/lib/steep/cli.rb:213:in `process_worker'
  /Users/john/.rbenv/versions/3.0.2/lib/ruby/gems/3.0.0/gems/steep-0.44.1/lib/steep/cli.rb:52:in `run'
  /Users/john/.rbenv/versions/3.0.2/lib/ruby/gems/3.0.0/gems/steep-0.44.1/exe/steep:11:in `<top (required)>'
  /Users/john/.rbenv/versions/3.0.2/bin/steep:23:in `load'
  /Users/john/.rbenv/versions/3.0.2/bin/steep:23:in `<main>'
#<RBS::Parser::SyntaxError: parse error on value: #<RBS::Parser::LocatedValue:0x00007ffd93295908 @location=#<RBS::Location:5240 @buffer=/Users/john/Documents/GitHub/repo/gem_rbs/gems/actionpack/6.0/actionpack-generated.rbs, @pos=210321...210335, source='_cache_control', start_line=5751, start_column=10>, @value="_cache_control"> (tUNDERSCOREIDENT)>
  parser.y:1757:in `on_error'
  (eval):3:in `_racc_do_parse_c'
  (eval):3:in `do_parse'
  parser.y:1458:in `parse_signature'
  /Users/john/.rbenv/versions/3.0.2/lib/ruby/gems/3.0.0/gems/rbs-1.3.1/lib/rbs/environment_loader.rb:127:in `block (2 levels) in each_decl'
  /Users/john/.rbenv/versions/3.0.2/lib/ruby/gems/3.0.0/gems/rbs-1.3.1/lib/rbs/environment_loader.rb:97:in `each_file'
  /Users/john/.rbenv/versions/3.0.2/lib/ruby/gems/3.0.0/gems/rbs-1.3.1/lib/rbs/environment_loader.rb:110:in `block in each_file'
  /Users/john/.rbenv/versions/3.0.2/lib/ruby/gems/3.0.0/gems/rbs-1.3.1/lib/rbs/environment_loader.rb:109:in `each'
  /Users/john/.rbenv/versions/3.0.2/lib/ruby/gems/3.0.0/gems/rbs-1.3.1/lib/rbs/environment_loader.rb:109:in `each_file'
  /Users/john/.rbenv/versions/3.0.2/lib/ruby/gems/3.0.0/gems/rbs-1.3.1/lib/rbs/environment_loader.rb:121:in `block in each_decl'
  /Users/john/.rbenv/versions/3.0.2/lib/ruby/gems/3.0.0/gems/rbs-1.3.1/lib/rbs/environment_loader.rb:84:in `block in each_dir'
  /Users/john/.rbenv/versions/3.0.2/lib/ruby/gems/3.0.0/gems/rbs-1.3.1/lib/rbs/environment_loader.rb:75:in `each'
  /Users/john/.rbenv/versions/3.0.2/lib/ruby/gems/3.0.0/gems/rbs-1.3.1/lib/rbs/environment_loader.rb:75:in `each_dir'
  /Users/john/.rbenv/versions/3.0.2/lib/ruby/gems/3.0.0/gems/rbs-1.3.1/lib/rbs/environment_loader.rb:118:in `each_decl'
  /Users/john/.rbenv/versions/3.0.2/lib/ruby/gems/3.0.0/gems/rbs-1.3.1/lib/rbs/environment_loader.rb:62:in `load'
  /Users/john/.rbenv/versions/3.0.2/lib/ruby/gems/3.0.0/gems/rbs-1.3.1/lib/rbs/environment.rb:129:in `block in from_loader'
  <internal:kernel>:90:in `tap'
  /Users/john/.rbenv/versions/3.0.2/lib/ruby/gems/3.0.0/gems/rbs-1.3.1/lib/rbs/environment.rb:128:in `from_loader'
  /Users/john/.rbenv/versions/3.0.2/lib/ruby/gems/3.0.0/gems/steep-0.44.1/lib/steep/services/signature_service.rb:70:in `load_from'
  /Users/john/.rbenv/versions/3.0.2/lib/ruby/gems/3.0.0/gems/steep-0.44.1/lib/steep/services/type_check_service.rb:95:in `block in initialize'
  /Users/john/.rbenv/versions/3.0.2/lib/ruby/gems/3.0.0/gems/steep-0.44.1/lib/steep/services/type_check_service.rb:93:in `each'
  /Users/john/.rbenv/versions/3.0.2/lib/ruby/gems/3.0.0/gems/steep-0.44.1/lib/steep/services/type_check_service.rb:93:in `with_object'
  /Users/john/.rbenv/versions/3.0.2/lib/ruby/gems/3.0.0/gems/steep-0.44.1/lib/steep/services/type_check_service.rb:93:in `initialize'
  /Users/john/.rbenv/versions/3.0.2/lib/ruby/gems/3.0.0/gems/steep-0.44.1/lib/steep/server/type_check_worker.rb:46:in `new'
  /Users/john/.rbenv/versions/3.0.2/lib/ruby/gems/3.0.0/gems/steep-0.44.1/lib/steep/server/type_check_worker.rb:46:in `initialize'
  /Users/john/.rbenv/versions/3.0.2/lib/ruby/gems/3.0.0/gems/steep-0.44.1/lib/steep/drivers/worker.rb:33:in `new'
  /Users/john/.rbenv/versions/3.0.2/lib/ruby/gems/3.0.0/gems/steep-0.44.1/lib/steep/drivers/worker.rb:33:in `block in run'
  /Users/john/.rbenv/versions/3.0.2/lib/ruby/gems/3.0.0/gems/activesupport-6.1.4/lib/active_support/tagged_logging.rb:99:in `block in tagged'
  /Users/john/.rbenv/versions/3.0.2/lib/ruby/gems/3.0.0/gems/activesupport-6.1.4/lib/active_support/tagged_logging.rb:37:in `tagged'
  /Users/john/.rbenv/versions/3.0.2/lib/ruby/gems/3.0.0/gems/activesupport-6.1.4/lib/active_support/tagged_logging.rb:99:in `tagged'
  /Users/john/.rbenv/versions/3.0.2/lib/ruby/gems/3.0.0/gems/steep-0.44.1/lib/steep/drivers/worker.rb:24:in `run'
  /Users/john/.rbenv/versions/3.0.2/lib/ruby/gems/3.0.0/gems/steep-0.44.1/lib/steep/cli.rb:213:in `process_worker'
  /Users/john/.rbenv/versions/3.0.2/lib/ruby/gems/3.0.0/gems/steep-0.44.1/lib/steep/cli.rb:52:in `run'
  /Users/john/.rbenv/versions/3.0.2/lib/ruby/gems/3.0.0/gems/steep-0.44.1/exe/steep:11:in `<top (required)>'
  /Users/john/.rbenv/versions/3.0.2/bin/steep:23:in `load'
  /Users/john/.rbenv/versions/3.0.2/bin/steep:23:in `<main>'
^C/Users/john/.rbenv/versions/3.0.2/lib/ruby/gems/3.0.0/gems/language_server-protocol-3.16.0.1/lib/language_server/protocol/transport/io/reader.rb:17:in `getc': Interrupt
	from /Users/john/.rbenv/versions/3.0.2/lib/ruby/gems/3.0.0/gems/language_server-protocol-3.16.0.1/lib/language_server/protocol/transport/io/reader.rb:17:in `read'
	from /Users/john/.rbenv/versions/3.0.2/lib/ruby/gems/3.0.0/gems/steep-0.44.1/lib/steep/drivers/utils/driver_helper.rb:43:in `wait_for_message'
	from /Users/john/.rbenv/versions/3.0.2/lib/ruby/gems/3.0.0/gems/steep-0.44.1/lib/steep/drivers/utils/driver_helper.rb:29:in `wait_for_response_id'
	from /Users/john/.rbenv/versions/3.0.2/lib/ruby/gems/3.0.0/gems/steep-0.44.1/lib/steep/drivers/check.rb:61:in `run'
	from /Users/john/.rbenv/versions/3.0.2/lib/ruby/gems/3.0.0/gems/steep-0.44.1/lib/steep/cli.rb:107:in `process_check'
	from /Users/john/.rbenv/versions/3.0.2/lib/ruby/gems/3.0.0/gems/steep-0.44.1/lib/steep/cli.rb:52:in `run'
	from /Users/john/.rbenv/versions/3.0.2/lib/ruby/gems/3.0.0/gems/steep-0.44.1/exe/steep:11:in `<top (required)>'
	from /Users/john/.rbenv/versions/3.0.2/bin/steep:23:in `load'
	from /Users/john/.rbenv/versions/3.0.2/bin/steep:23:in `<top (required)>'
	from /Users/john/.rbenv/versions/3.0.2/lib/ruby/gems/3.0.0/gems/bundler-2.2.22/lib/bundler/cli/exec.rb:63:in `load'
	from /Users/john/.rbenv/versions/3.0.2/lib/ruby/gems/3.0.0/gems/bundler-2.2.22/lib/bundler/cli/exec.rb:63:in `kernel_load'
	from /Users/john/.rbenv/versions/3.0.2/lib/ruby/gems/3.0.0/gems/bundler-2.2.22/lib/bundler/cli/exec.rb:28:in `run'
	from /Users/john/.rbenv/versions/3.0.2/lib/ruby/gems/3.0.0/gems/bundler-2.2.22/lib/bundler/cli.rb:474:in `exec'
	from /Users/john/.rbenv/versions/3.0.2/lib/ruby/gems/3.0.0/gems/bundler-2.2.22/lib/bundler/vendor/thor/lib/thor/command.rb:27:in `run'
	from /Users/john/.rbenv/versions/3.0.2/lib/ruby/gems/3.0.0/gems/bundler-2.2.22/lib/bundler/vendor/thor/lib/thor/invocation.rb:127:in `invoke_command'
	from /Users/john/.rbenv/versions/3.0.2/lib/ruby/gems/3.0.0/gems/bundler-2.2.22/lib/bundler/vendor/thor/lib/thor.rb:392:in `dispatch'
	from /Users/john/.rbenv/versions/3.0.2/lib/ruby/gems/3.0.0/gems/bundler-2.2.22/lib/bundler/cli.rb:30:in `dispatch'
	from /Users/john/.rbenv/versions/3.0.2/lib/ruby/gems/3.0.0/gems/bundler-2.2.22/lib/bundler/vendor/thor/lib/thor/base.rb:485:in `start'
	from /Users/john/.rbenv/versions/3.0.2/lib/ruby/gems/3.0.0/gems/bundler-2.2.22/lib/bundler/cli.rb:24:in `start'
	from /Users/john/.rbenv/versions/3.0.2/lib/ruby/gems/3.0.0/gems/bundler-2.2.22/exe/bundle:49:in `block in <top (required)>'
	from /Users/john/.rbenv/versions/3.0.2/lib/ruby/gems/3.0.0/gems/bundler-2.2.22/lib/bundler/friendly_errors.rb:128:in `with_friendly_errors'
	from /Users/john/.rbenv/versions/3.0.2/lib/ruby/gems/3.0.0/gems/bundler-2.2.22/exe/bundle:37:in `<top (required)>'
	from /Users/john/.rbenv/versions/3.0.2/bin/bundle:23:in `load'
	from /Users/john/.rbenv/versions/3.0.2/bin/bundle:23:in `<main>'

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.