ParadoxV5
ParadoxV5
May be specific to CRuby; may be a bug. ```ruby class MyProc < Proc def self.new = super { :new } def initialize = super { :initialize } new.() #=>...
Currently, the `RHS` of `[T < RHS]` must be an interface, class or module, at least what RubyMine IDE identifies. Wynaut allow it to be anything? For the minumum, it...
Currently, we model module/class themselves (as opposed to `instance`s) as `singleton(Klass)`, whereas the `Module`/`Class` classes can only represent the module/class of `untyped`. I suggest combining those two by giving `Module`...
```rbs class MyWrapper[E] def self.of: (E) -> instance # RBS::UnknownTypeName (it’s not inferred from `MyWrapper[E]`) def self.of: (E) -> instance[E] # RBS::SyntaxError def self.of: [E] (E) -> instance # ok,...
The rest of `rake annotate` changes from a184eda & dc59809
Ruby: ```ruby class MyProc < Proc def initialize(_) super() {} end end ``` RBS: ```rbs class MyProc < Proc def initialize: (untyped) -> void end ``` steep check ``` #...
This helps with using Steep as an LSP by differentiating no-RBS methods from actually nonexistent methods. --- `ruby.rb`: ```ruby class A # control module B end class C end #...
``` $ cat ruby.rb p 10.gcd(*[6]) $ ruby ruby.rb 2 $ steep check # Type checking files: .................................................................................F.. ruby.rb:1:9: [error] Cannot pass a value of type `::Array[::Integer]` as an argument...
(This probably just files a TODO item into a GitHub issue.) How is this so different from `||=`ing variables that it’s currently unspported? ``` ...................................................................................[Steep 1.5.3] [typecheck:typecheck@1] [background] [#typecheck_source(path=ruby.rb)] [#type_check_file(ruby.rb@lib)]...
(`all_error` diagnostic) ``` $ cat ruby.rb def q(o) = p(o) q(*1) p(*2) $ ruby ruby.rb 1 2 $ cat rbs.rbs class Object def q: (untyped) -> void end $ steep...