Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Overloaded Proc#initialize implodes Steep #988

Open
ParadoxV5 opened this issue Dec 31, 2023 · 2 comments
Open

Overloaded Proc#initialize implodes Steep #988

ParadoxV5 opened this issue Dec 31, 2023 · 2 comments

Comments

@ParadoxV5
Copy link
Contributor

Ruby:

class MyProc < Proc
  def initialize(_)
    super() {}
  end
end

RBS:

class MyProc < Proc
  def initialize: (untyped) -> void
end
steep check
# Type checking files:

..................................[Steep 1.6.0] [typecheck:typecheck@1] [background] [#typecheck_source(path=ruby.rb)] [#type_check_file(ruby.rb@.)] [synthesize:(1:1)] [synthesize:(2:3)] [synthesize:(3:5)] Unexpected error: #<NoMethodError: undefined method `selector' for an instance of Parser::Source::Map::Keyword>
[Steep 1.6.0] [typecheck:typecheck@1] [background] [#typecheck_source(path=ruby.rb)] [#type_check_file(ruby.rb@.)] [synthesize:(1:1)] [synthesize:(2:3)] [synthesize:(3:5)]   /usr/local/lib/ruby/gems/3.3.0/gems/steep-1.6.0/lib/steep/diagnostic/ruby.rb:165:in `initialize'
[Steep 1.6.0] [typecheck:typecheck@1] [background] [#typecheck_source(path=ruby.rb)] [#type_check_file(ruby.rb@.)] [synthesize:(1:1)] [synthesize:(2:3)] [synthesize:(3:5)]   /usr/local/lib/ruby/gems/3.3.0/gems/steep-1.6.0/lib/steep/type_inference/send_args.rb:694:in `new'
[Steep 1.6.0] [typecheck:typecheck@1] [background] [#typecheck_source(path=ruby.rb)] [#type_check_file(ruby.rb@.)] [synthesize:(1:1)] [synthesize:(2:3)] [synthesize:(3:5)]   /usr/local/lib/ruby/gems/3.3.0/gems/steep-1.6.0/lib/steep/type_inference/send_args.rb:694:in `block in each'
[Steep 1.6.0] [typecheck:typecheck@1] [background] [#typecheck_source(path=ruby.rb)] [#type_check_file(ruby.rb@.)] [synthesize:(1:1)] [synthesize:(2:3)] [synthesize:(3:5)]   /usr/local/lib/ruby/gems/3.3.0/gems/steep-1.6.0/lib/steep/type_inference/send_args.rb:677:in `each'
[Steep 1.6.0] [typecheck:typecheck@1] [background] [#typecheck_source(path=ruby.rb)] [#type_check_file(ruby.rb@.)] [synthesize:(1:1)] [synthesize:(2:3)] [synthesize:(3:5)]   /usr/local/lib/ruby/gems/3.3.0/gems/steep-1.6.0/lib/steep/type_inference/send_args.rb:677:in `each'
[Steep 1.6.0] [typecheck:typecheck@1] [background] [#typecheck_source(path=ruby.rb)] [#type_check_file(ruby.rb@.)] [synthesize:(1:1)] [synthesize:(2:3)] [synthesize:(3:5)]   /usr/local/lib/ruby/gems/3.3.0/gems/steep-1.6.0/lib/steep/type_construction.rb:3814:in `type_check_args'
[Steep 1.6.0] [typecheck:typecheck@1] [background] [#typecheck_source(path=ruby.rb)] [#type_check_file(ruby.rb@.)] [synthesize:(1:1)] [synthesize:(2:3)] [synthesize:(3:5)]   /usr/local/lib/ruby/gems/3.3.0/gems/steep-1.6.0/lib/steep/type_construction.rb:4031:in `block in try_method_type'
[Steep 1.6.0] [typecheck:typecheck@1] [background] [#typecheck_source(path=ruby.rb)] [#type_check_file(ruby.rb@.)] [synthesize:(1:1)] [synthesize:(2:3)] [synthesize:(3:5)]   /usr/local/lib/ruby/gems/3.3.0/gems/steep-1.6.0/lib/steep/subtyping/check.rb:51:in `push_variable_bounds'
[Steep 1.6.0] [typecheck:typecheck@1] [background] [#typecheck_source(path=ruby.rb)] [#type_check_file(ruby.rb@.)] [synthesize:(1:1)] [synthesize:(2:3)] [synthesize:(3:5)]   /usr/local/lib/ruby/gems/3.3.0/gems/steep-1.6.0/lib/steep/type_construction.rb:4024:in `try_method_type'
[Steep 1.6.0] [typecheck:typecheck@1] [background] [#typecheck_source(path=ruby.rb)] [#type_check_file(ruby.rb@.)] [synthesize:(1:1)] [synthesize:(2:3)] [synthesize:(3:5)]   /usr/local/lib/ruby/gems/3.3.0/gems/steep-1.6.0/lib/steep/type_construction.rb:3679:in `block (3 levels) in type_method_call'
[Steep 1.6.0] [typecheck:typecheck@1] [background] [#typecheck_source(path=ruby.rb)] [#type_check_file(ruby.rb@.)] [synthesize:(1:1)] [synthesize:(2:3)] [synthesize:(3:5)]   /usr/local/lib/ruby/gems/3.3.0/gems/steep-1.6.0/lib/steep/typing.rb:234:in `new_child'
[Steep 1.6.0] [typecheck:typecheck@1] [background] [#typecheck_source(path=ruby.rb)] [#type_check_file(ruby.rb@.)] [synthesize:(1:1)] [synthesize:(2:3)] [synthesize:(3:5)]   /usr/local/lib/ruby/gems/3.3.0/gems/steep-1.6.0/lib/steep/type_construction.rb:3667:in `block (2 levels) in type_method_call'
[Steep 1.6.0] [typecheck:typecheck@1] [background] [#typecheck_source(path=ruby.rb)] [#type_check_file(ruby.rb@.)] [synthesize:(1:1)] [synthesize:(2:3)] [synthesize:(3:5)]   /usr/local/lib/ruby/gems/3.3.0/gems/activesupport-7.1.2/lib/active_support/tagged_logging.rb:135:in `block in tagged'
[Steep 1.6.0] [typecheck:typecheck@1] [background] [#typecheck_source(path=ruby.rb)] [#type_check_file(ruby.rb@.)] [synthesize:(1:1)] [synthesize:(2:3)] [synthesize:(3:5)]   /usr/local/lib/ruby/gems/3.3.0/gems/activesupport-7.1.2/lib/active_support/tagged_logging.rb:39:in `tagged'
[Steep 1.6.0] [typecheck:typecheck@1] [background] [#typecheck_source(path=ruby.rb)] [#type_check_file(ruby.rb@.)] [synthesize:(1:1)] [synthesize:(2:3)] [synthesize:(3:5)]   /usr/local/lib/ruby/gems/3.3.0/gems/activesupport-7.1.2/lib/active_support/tagged_logging.rb:135:in `tagged'
[Steep 1.6.0] [typecheck:typecheck@1] [background] [#typecheck_source(path=ruby.rb)] [#type_check_file(ruby.rb@.)] [synthesize:(1:1)] [synthesize:(2:3)] [synthesize:(3:5)]   /usr/local/lib/ruby/gems/3.3.0/gems/steep-1.6.0/lib/steep/type_construction.rb:3666:in `block in type_method_call'
[Steep 1.6.0] [typecheck:typecheck@1] [background] [#typecheck_source(path=ruby.rb)] [#type_check_file(ruby.rb@.)] [synthesize:(1:1)] [synthesize:(2:3)] [synthesize:(3:5)]   /usr/local/lib/ruby/gems/3.3.0/gems/steep-1.6.0/lib/steep/type_construction.rb:3665:in `each'
[Steep 1.6.0] [typecheck:typecheck@1] [background] [#typecheck_source(path=ruby.rb)] [#type_check_file(ruby.rb@.)] [synthesize:(1:1)] [synthesize:(2:3)] [synthesize:(3:5)]   /usr/local/lib/ruby/gems/3.3.0/gems/steep-1.6.0/lib/steep/type_construction.rb:3665:in `type_method_call'
[Steep 1.6.0] [typecheck:typecheck@1] [background] [#typecheck_source(path=ruby.rb)] [#type_check_file(ruby.rb@.)] [synthesize:(1:1)] [synthesize:(2:3)] [synthesize:(3:5)]   /usr/local/lib/ruby/gems/3.3.0/gems/steep-1.6.0/lib/steep/type_construction.rb:3300:in `type_send_interface'
[Steep 1.6.0] [typecheck:typecheck@1] [background] [#typecheck_source(path=ruby.rb)] [#type_check_file(ruby.rb@.)] [synthesize:(1:1)] [synthesize:(2:3)] [synthesize:(3:5)]   /usr/local/lib/ruby/gems/3.3.0/gems/steep-1.6.0/lib/steep/type_construction.rb:3510:in `type_send'
[Steep 1.6.0] [typecheck:typecheck@1] [background] [#typecheck_source(path=ruby.rb)] [#type_check_file(ruby.rb@.)] [synthesize:(1:1)] [synthesize:(2:3)] [synthesize:(3:5)]   /usr/local/lib/ruby/gems/3.3.0/gems/steep-1.6.0/lib/steep/type_construction.rb:2790:in `block in synthesize_sendish'
[Steep 1.6.0] [typecheck:typecheck@1] [background] [#typecheck_source(path=ruby.rb)] [#type_check_file(ruby.rb@.)] [synthesize:(1:1)] [synthesize:(2:3)] [synthesize:(3:5)]   <internal:kernel>:148:in `yield_self'
[Steep 1.6.0] [typecheck:typecheck@1] [background] [#typecheck_source(path=ruby.rb)] [#type_check_file(ruby.rb@.)] [synthesize:(1:1)] [synthesize:(2:3)] [synthesize:(3:5)]   /usr/local/lib/ruby/gems/3.3.0/gems/steep-1.6.0/lib/steep/type_construction.rb:2784:in `synthesize_sendish'
[Steep 1.6.0] [typecheck:typecheck@1] [background] [#typecheck_source(path=ruby.rb)] [#type_check_file(ruby.rb@.)] [synthesize:(1:1)] [synthesize:(2:3)] [synthesize:(3:5)]   /usr/local/lib/ruby/gems/3.3.0/gems/steep-1.6.0/lib/steep/type_construction.rb:2707:in `block in synthesize'
[Steep 1.6.0] [typecheck:typecheck@1] [background] [#typecheck_source(path=ruby.rb)] [#type_check_file(ruby.rb@.)] [synthesize:(1:1)] [synthesize:(2:3)] [synthesize:(3:5)]   /usr/local/lib/ruby/gems/3.3.0/gems/activesupport-7.1.2/lib/active_support/tagged_logging.rb:135:in `block in tagged'
[Steep 1.6.0] [typecheck:typecheck@1] [background] [#typecheck_source(path=ruby.rb)] [#type_check_file(ruby.rb@.)] [synthesize:(1:1)] [synthesize:(2:3)] [synthesize:(3:5)]   /usr/local/lib/ruby/gems/3.3.0/gems/activesupport-7.1.2/lib/active_support/tagged_logging.rb:39:in `tagged'
[Steep 1.6.0] [typecheck:typecheck@1] [background] [#typecheck_source(path=ruby.rb)] [#type_check_file(ruby.rb@.)] [synthesize:(1:1)] [synthesize:(2:3)] [synthesize:(3:5)]   /usr/local/lib/ruby/gems/3.3.0/gems/activesupport-7.1.2/lib/active_support/tagged_logging.rb:135:in `tagged'
[Steep 1.6.0] [typecheck:typecheck@1] [background] [#typecheck_source(path=ruby.rb)] [#type_check_file(ruby.rb@.)] [synthesize:(1:1)] [synthesize:(2:3)] [synthesize:(3:5)]   /usr/local/lib/ruby/gems/3.3.0/gems/steep-1.6.0/lib/steep/type_construction.rb:694:in `synthesize'
[Steep 1.6.0] [typecheck:typecheck@1] [background] [#typecheck_source(path=ruby.rb)] [#type_check_file(ruby.rb@.)] [synthesize:(1:1)] [synthesize:(2:3)] [synthesize:(3:5)]   /usr/local/lib/ruby/gems/3.3.0/gems/steep-1.6.0/lib/steep/type_construction.rb:991:in `block (3 levels) in synthesize'
[Steep 1.6.0] [typecheck:typecheck@1] [background] [#typecheck_source(path=ruby.rb)] [#type_check_file(ruby.rb@.)] [synthesize:(1:1)] [synthesize:(2:3)] [synthesize:(3:5)]   /usr/local/lib/ruby/gems/3.3.0/gems/steep-1.6.0/lib/steep/type_construction.rb:280:in `block in with_method_constr'
[Steep 1.6.0] [typecheck:typecheck@1] [background] [#typecheck_source(path=ruby.rb)] [#type_check_file(ruby.rb@.)] [synthesize:(1:1)] [synthesize:(2:3)] [synthesize:(3:5)]   /usr/local/lib/ruby/gems/3.3.0/gems/steep-1.6.0/lib/steep/subtyping/check.rb:51:in `push_variable_bounds'
[Steep 1.6.0] [typecheck:typecheck@1] [background] [#typecheck_source(path=ruby.rb)] [#type_check_file(ruby.rb@.)] [synthesize:(1:1)] [synthesize:(2:3)] [synthesize:(3:5)]   /usr/local/lib/ruby/gems/3.3.0/gems/steep-1.6.0/lib/steep/type_construction.rb:279:in `with_method_constr'
[Steep 1.6.0] [typecheck:typecheck@1] [background] [#typecheck_source(path=ruby.rb)] [#type_check_file(ruby.rb@.)] [synthesize:(1:1)] [synthesize:(2:3)] [synthesize:(3:5)]   /usr/local/lib/ruby/gems/3.3.0/gems/steep-1.6.0/lib/steep/type_construction.rb:942:in `block (2 levels) in synthesize'
[Steep 1.6.0] [typecheck:typecheck@1] [background] [#typecheck_source(path=ruby.rb)] [#type_check_file(ruby.rb@.)] [synthesize:(1:1)] [synthesize:(2:3)] [synthesize:(3:5)]   <internal:kernel>:148:in `yield_self'
[Steep 1.6.0] [typecheck:typecheck@1] [background] [#typecheck_source(path=ruby.rb)] [#type_check_file(ruby.rb@.)] [synthesize:(1:1)] [synthesize:(2:3)] [synthesize:(3:5)]   /usr/local/lib/ruby/gems/3.3.0/gems/steep-1.6.0/lib/steep/type_construction.rb:937:in `block in synthesize'
[Steep 1.6.0] [typecheck:typecheck@1] [background] [#typecheck_source(path=ruby.rb)] [#type_check_file(ruby.rb@.)] [synthesize:(1:1)] [synthesize:(2:3)] [synthesize:(3:5)]   /usr/local/lib/ruby/gems/3.3.0/gems/activesupport-7.1.2/lib/active_support/tagged_logging.rb:135:in `block in tagged'
[Steep 1.6.0] [typecheck:typecheck@1] [background] [#typecheck_source(path=ruby.rb)] [#type_check_file(ruby.rb@.)] [synthesize:(1:1)] [synthesize:(2:3)] [synthesize:(3:5)]   /usr/local/lib/ruby/gems/3.3.0/gems/activesupport-7.1.2/lib/active_support/tagged_logging.rb:39:in `tagged'
[Steep 1.6.0] [typecheck:typecheck@1] [background] [#typecheck_source(path=ruby.rb)] [#type_check_file(ruby.rb@.)] [synthesize:(1:1)] [synthesize:(2:3)] [synthesize:(3:5)]   /usr/local/lib/ruby/gems/3.3.0/gems/activesupport-7.1.2/lib/active_support/tagged_logging.rb:135:in `tagged'
[Steep 1.6.0] [typecheck:typecheck@1] [background] [#typecheck_source(path=ruby.rb)] [#type_check_file(ruby.rb@.)] [synthesize:(1:1)] [synthesize:(2:3)] [synthesize:(3:5)]   /usr/local/lib/ruby/gems/3.3.0/gems/steep-1.6.0/lib/steep/type_construction.rb:694:in `synthesize'
[Steep 1.6.0] [typecheck:typecheck@1] [background] [#typecheck_source(path=ruby.rb)] [#type_check_file(ruby.rb@.)] [synthesize:(1:1)] [synthesize:(2:3)] [synthesize:(3:5)]   /usr/local/lib/ruby/gems/3.3.0/gems/steep-1.6.0/lib/steep/type_construction.rb:1504:in `block (3 levels) in synthesize'
[Steep 1.6.0] [typecheck:typecheck@1] [background] [#typecheck_source(path=ruby.rb)] [#type_check_file(ruby.rb@.)] [synthesize:(1:1)] [synthesize:(2:3)] [synthesize:(3:5)]   /usr/local/lib/ruby/gems/3.3.0/gems/steep-1.6.0/lib/steep/type_construction.rb:537:in `block in with_class_constr'
[Steep 1.6.0] [typecheck:typecheck@1] [background] [#typecheck_source(path=ruby.rb)] [#type_check_file(ruby.rb@.)] [synthesize:(1:1)] [synthesize:(2:3)] [synthesize:(3:5)]   /usr/local/lib/ruby/gems/3.3.0/gems/steep-1.6.0/lib/steep/subtyping/check.rb:51:in `push_variable_bounds'
[Steep 1.6.0] [typecheck:typecheck@1] [background] [#typecheck_source(path=ruby.rb)] [#type_check_file(ruby.rb@.)] [synthesize:(1:1)] [synthesize:(2:3)] [synthesize:(3:5)]   /usr/local/lib/ruby/gems/3.3.0/gems/steep-1.6.0/lib/steep/type_construction.rb:536:in `with_class_constr'
[Steep 1.6.0] [typecheck:typecheck@1] [background] [#typecheck_source(path=ruby.rb)] [#type_check_file(ruby.rb@.)] [synthesize:(1:1)] [synthesize:(2:3)] [synthesize:(3:5)]   /usr/local/lib/ruby/gems/3.3.0/gems/steep-1.6.0/lib/steep/type_construction.rb:1494:in `block (2 levels) in synthesize'
[Steep 1.6.0] [typecheck:typecheck@1] [background] [#typecheck_source(path=ruby.rb)] [#type_check_file(ruby.rb@.)] [synthesize:(1:1)] [synthesize:(2:3)] [synthesize:(3:5)]   <internal:kernel>:148:in `yield_self'
[Steep 1.6.0] [typecheck:typecheck@1] [background] [#typecheck_source(path=ruby.rb)] [#type_check_file(ruby.rb@.)] [synthesize:(1:1)] [synthesize:(2:3)] [synthesize:(3:5)]   /usr/local/lib/ruby/gems/3.3.0/gems/steep-1.6.0/lib/steep/type_construction.rb:1456:in `block in synthesize'
[Steep 1.6.0] [typecheck:typecheck@1] [background] [#typecheck_source(path=ruby.rb)] [#type_check_file(ruby.rb@.)] [synthesize:(1:1)] [synthesize:(2:3)] [synthesize:(3:5)]   /usr/local/lib/ruby/gems/3.3.0/gems/activesupport-7.1.2/lib/active_support/tagged_logging.rb:135:in `block in tagged'
[Steep 1.6.0] [typecheck:typecheck@1] [background] [#typecheck_source(path=ruby.rb)] [#type_check_file(ruby.rb@.)] [synthesize:(1:1)] [synthesize:(2:3)] [synthesize:(3:5)]   /usr/local/lib/ruby/gems/3.3.0/gems/activesupport-7.1.2/lib/active_support/tagged_logging.rb:39:in `tagged'
[Steep 1.6.0] [typecheck:typecheck@1] [background] [#typecheck_source(path=ruby.rb)] [#type_check_file(ruby.rb@.)] [synthesize:(1:1)] [synthesize:(2:3)] [synthesize:(3:5)]   /usr/local/lib/ruby/gems/3.3.0/gems/activesupport-7.1.2/lib/active_support/tagged_logging.rb:135:in `tagged'
[Steep 1.6.0] [typecheck:typecheck@1] [background] [#typecheck_source(path=ruby.rb)] [#type_check_file(ruby.rb@.)] [synthesize:(1:1)] [synthesize:(2:3)] [synthesize:(3:5)]   /usr/local/lib/ruby/gems/3.3.0/gems/steep-1.6.0/lib/steep/type_construction.rb:694:in `synthesize'
[Steep 1.6.0] [typecheck:typecheck@1] [background] [#typecheck_source(path=ruby.rb)] [#type_check_file(ruby.rb@.)] [synthesize:(1:1)] [synthesize:(2:3)] [synthesize:(3:5)]   /usr/local/lib/ruby/gems/3.3.0/gems/steep-1.6.0/lib/steep/services/type_check_service.rb:393:in `type_check'
[Steep 1.6.0] [typecheck:typecheck@1] [background] [#typecheck_source(path=ruby.rb)] [#type_check_file(ruby.rb@.)] [synthesize:(1:1)] [synthesize:(2:3)] [synthesize:(3:5)]   /usr/local/lib/ruby/gems/3.3.0/gems/steep-1.6.0/lib/steep/services/type_check_service.rb:329:in `block in type_check_file'
[Steep 1.6.0] [typecheck:typecheck@1] [background] [#typecheck_source(path=ruby.rb)] [#type_check_file(ruby.rb@.)] [synthesize:(1:1)] [synthesize:(2:3)] [synthesize:(3:5)]   /usr/local/lib/ruby/gems/3.3.0/gems/activesupport-7.1.2/lib/active_support/tagged_logging.rb:135:in `block in tagged'
[Steep 1.6.0] [typecheck:typecheck@1] [background] [#typecheck_source(path=ruby.rb)] [#type_check_file(ruby.rb@.)] [synthesize:(1:1)] [synthesize:(2:3)] [synthesize:(3:5)]   /usr/local/lib/ruby/gems/3.3.0/gems/activesupport-7.1.2/lib/active_support/tagged_logging.rb:39:in `tagged'
[Steep 1.6.0] [typecheck:typecheck@1] [background] [#typecheck_source(path=ruby.rb)] [#type_check_file(ruby.rb@.)] [synthesize:(1:1)] [synthesize:(2:3)] [synthesize:(3:5)]   /usr/local/lib/ruby/gems/3.3.0/gems/activesupport-7.1.2/lib/active_support/tagged_logging.rb:135:in `tagged'
[Steep 1.6.0] [typecheck:typecheck@1] [background] [#typecheck_source(path=ruby.rb)] [#type_check_file(ruby.rb@.)] [synthesize:(1:1)] [synthesize:(2:3)] [synthesize:(3:5)]   /usr/local/lib/ruby/gems/3.3.0/gems/steep-1.6.0/lib/steep/services/type_check_service.rb:327:in `type_check_file'
[Steep 1.6.0] [typecheck:typecheck@1] [background] [#typecheck_source(path=ruby.rb)] [#type_check_file(ruby.rb@.)] [synthesize:(1:1)] [synthesize:(2:3)] [synthesize:(3:5)]   /usr/local/lib/ruby/gems/3.3.0/gems/steep-1.6.0/lib/steep/services/type_check_service.rb:283:in `block (2 levels) in typecheck_source'
[Steep 1.6.0] [typecheck:typecheck@1] [background] [#typecheck_source(path=ruby.rb)] [#type_check_file(ruby.rb@.)] [synthesize:(1:1)] [synthesize:(2:3)] [synthesize:(3:5)]   /usr/local/lib/ruby/gems/3.3.0/gems/steep-1.6.0/lib/steep.rb:178:in `measure'
[Steep 1.6.0] [typecheck:typecheck@1] [background] [#typecheck_source(path=ruby.rb)] [#type_check_file(ruby.rb@.)] [synthesize:(1:1)] [synthesize:(2:3)] [synthesize:(3:5)]   /usr/local/lib/ruby/gems/3.3.0/gems/steep-1.6.0/lib/steep/services/type_check_service.rb:277:in `block in typecheck_source'
[Steep 1.6.0] [typecheck:typecheck@1] [background] [#typecheck_source(path=ruby.rb)] [#type_check_file(ruby.rb@.)] [synthesize:(1:1)] [synthesize:(2:3)] [synthesize:(3:5)]   /usr/local/lib/ruby/gems/3.3.0/gems/activesupport-7.1.2/lib/active_support/tagged_logging.rb:135:in `block in tagged'
[Steep 1.6.0] [typecheck:typecheck@1] [background] [#typecheck_source(path=ruby.rb)] [#type_check_file(ruby.rb@.)] [synthesize:(1:1)] [synthesize:(2:3)] [synthesize:(3:5)]   /usr/local/lib/ruby/gems/3.3.0/gems/activesupport-7.1.2/lib/active_support/tagged_logging.rb:39:in `tagged'
[Steep 1.6.0] [typecheck:typecheck@1] [background] [#typecheck_source(path=ruby.rb)] [#type_check_file(ruby.rb@.)] [synthesize:(1:1)] [synthesize:(2:3)] [synthesize:(3:5)]   /usr/local/lib/ruby/gems/3.3.0/gems/activesupport-7.1.2/lib/active_support/tagged_logging.rb:135:in `tagged'
[Steep 1.6.0] [typecheck:typecheck@1] [background] [#typecheck_source(path=ruby.rb)] [#type_check_file(ruby.rb@.)] [synthesize:(1:1)] [synthesize:(2:3)] [synthesize:(3:5)]   /usr/local/lib/ruby/gems/3.3.0/gems/steep-1.6.0/lib/steep/services/type_check_service.rb:276:in `typecheck_source'
[Steep 1.6.0] [typecheck:typecheck@1] [background] [#typecheck_source(path=ruby.rb)] [#type_check_file(ruby.rb@.)] [synthesize:(1:1)] [synthesize:(2:3)] [synthesize:(3:5)]   /usr/local/lib/ruby/gems/3.3.0/gems/steep-1.6.0/lib/steep/server/type_check_worker.rb:205:in `handle_job'
[Steep 1.6.0] [typecheck:typecheck@1] [background] [#typecheck_source(path=ruby.rb)] [#type_check_file(ruby.rb@.)] [synthesize:(1:1)] [synthesize:(2:3)] [synthesize:(3:5)]   /usr/local/lib/ruby/gems/3.3.0/gems/steep-1.6.0/lib/steep/server/base_worker.rb:56:in `block (2 levels) in run'
[Steep 1.6.0] [typecheck:typecheck@1] [background] [#typecheck_source(path=ruby.rb)] [#type_check_file(ruby.rb@.)] [synthesize:(1:1)] [synthesize:(2:3)] [synthesize:(3:5)]   /usr/local/lib/ruby/gems/3.3.0/gems/activesupport-7.1.2/lib/active_support/tagged_logging.rb:135:in `block in tagged'
[Steep 1.6.0] [typecheck:typecheck@1] [background] [#typecheck_source(path=ruby.rb)] [#type_check_file(ruby.rb@.)] [synthesize:(1:1)] [synthesize:(2:3)] [synthesize:(3:5)]   /usr/local/lib/ruby/gems/3.3.0/gems/activesupport-7.1.2/lib/active_support/tagged_logging.rb:39:in `tagged'
[Steep 1.6.0] [typecheck:typecheck@1] [background] [#typecheck_source(path=ruby.rb)] [#type_check_file(ruby.rb@.)] [synthesize:(1:1)] [synthesize:(2:3)] [synthesize:(3:5)]   /usr/local/lib/ruby/gems/3.3.0/gems/activesupport-7.1.2/lib/active_support/tagged_logging.rb:135:in `tagged'
[Steep 1.6.0] [typecheck:typecheck@1] [background] [#typecheck_source(path=ruby.rb)] [#type_check_file(ruby.rb@.)] [synthesize:(1:1)] [synthesize:(2:3)] [synthesize:(3:5)]   /usr/local/lib/ruby/gems/3.3.0/gems/steep-1.6.0/lib/steep/server/base_worker.rb:46:in `block in run'
...................................................

No type error detected. 🫖

Also note:

@ParadoxV5
Copy link
Contributor Author

This doesn’t implode:

def y = yield

y { :y }
class Object
  def y: () { () -> void } -> void
end

@ParadoxV5
Copy link
Contributor Author

This doesn’t implode:

class P
  def initialize = yield
end

class C < P
  def initialize = super() { p self }
end
class P
  def initialize: () { () -> void } -> void
end

class C < P
  def initialize: () -> void
end

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant