Loic Nageleisen

Results 176 comments of Loic Nageleisen

Interesting. Thanks for these pointers. Overall the plan makes sense to me and although I did not anticipate things to such detail it matches what I broadly expected. Coincidentally I've...

Dropping some notes. Rack reaches down to `test_websocket_echo`, which calls `Async::WebSocket::Adapters::Rack.open`: https://github.com/socketry/rack-conform/blob/e2382a165775275c1cdbb6c8a1cb7ed15532d2cc/lib/rack/conform/application.rb#L90 `Async::WebSocket::Adapters::Rack.open` receives the Rack env and wraps that in a `::Protocol::Rack::Request` https://github.com/socketry/async-websocket/blob/5c9349081b0db850bd27587233e2bd20bef616fb/lib/async/websocket/adapters/rack.rb#L23 Then performs `HTTP.open`: https://github.com/socketry/async-websocket/blob/5c9349081b0db850bd27587233e2bd20bef616fb/lib/async/websocket/adapters/rack.rb#L25 Which validates...

So AIUI we'd leverage partial hijack to have Thin itself return `UpgradeResponse`'s status 101 + headers via Rack, but ignoring the body (in terms of having Thin processing it itself)....

>> which means websocket support > > You only need to support streaming responses, which is not the same as WebSockets. It's the same as partial hijack. Even puma can...

Attempted a fix in https://github.com/soutaro/steep/pull/1037, probably not a very good one.

Apparently the solution (as of 1.6.0) is to use `@dynamic`: ``` # foo.rb class Foo # @dynamic foo attr_reader :foo end ``` Which feels very redundant given that RBS's `attr_reader`...

> I think the location can be represented with four-attributes in structured formats Oh yeah, I just took Rubocop's outpout directly and tweaked it a bit to sort of make...

Got this in CI: ``` [Steep 1.6.0] [#typecheck_source(path=lib/a.rb)] Unexpected error: # [Steep 1.6.0] [#typecheck_source(path=lib/a.rb)] /opt/hostedtoolcache/Ruby/3.1.4/x64/lib/ruby/gems/3.1.0/gems/rbs-3.4.3/lib/rbs/resolver/constant_resolver.rb:25:in `block in initialize' [Steep 1.6.0] [#typecheck_source(path=lib/a.rb)] /opt/hostedtoolcache/Ruby/3.1.4/x64/lib/ruby/gems/3.1.0/gems/rbs-3.4.3/lib/rbs/resolver/constant_resolver.rb:20:in `each' [Steep 1.6.0] [#typecheck_source(path=lib/a.rb)] /opt/hostedtoolcache/Ruby/3.1.4/x64/lib/ruby/gems/3.1.0/gems/rbs-3.4.3/lib/rbs/resolver/constant_resolver.rb:20:in `initialize' [Steep 1.6.0]...

So actually `master` also outputs the error above and it's not the cause of the failure: it was a red herring. ``` bundle exec rake test TEST=test/type_check_service_test.rb N=test_signature_error_unknown_outer_module ``` The...

@soutaro tests are all passing now. I feel like [littering code with `@dynamic`](https://github.com/soutaro/steep/issues/1036#issuecomment-2104386439) is not really useful when RBS `attr_reader` maps 1:1 to Ruby's `attr_reader`. Does the proposed code here...