natalie
natalie copied to clipboard
a work-in-progress Ruby compiler, written in Ruby and C++
I accidentally called Hash#replace with ~a copy of~ itself and found this bug: ```ruby h = { foo: 'bar' } p h.replace(h) p h ``` With CRuby: ``` {:foo=>"bar"} {:foo=>"bar"}...
This is a feature of Ruby 3.0 where a Fiber can mark itself as being blocked, notify a scheduler of this information, and let the scheduler change the execution to...
Fixes #2150
Observed in #2145 where it broke our self hosted compiler. This snippet: ```ruby p [:a].map.class p [:a].map.with_index.class p [:a].map.with_index { |value, idx| [value, idx] }.class p [:a].map.with_index { |value, idx|...
Starting in 2ef5771069b8de5f145952612648e0ff27d0bc99 the payload returned from https://natalie-lang.org/stats/stats.json is truncated. Need to investigate...
Example: https://github.com/natalie-lang/natalie/actions/runs/8569056088/job/23484139786 ``` FAIL ruby/spec::spec/core/conditionvariable/signal_spec.rb#test_0001_passes all specs (2901.91s) Expected # to be success?. /natalie/test/ruby/ruby_specs_test.rb:35:in `block (4 levels) in ' ``` Once in a while this spec fails. Most times a...
One of my "I want to do this some day but not right now" tasks. We currently have a [one line patch](https://github.com/natalie-lang/natalie/blob/master/ext/onigmo.patch) for Onigmo to enable the use of uppercase...
https://github.com/natalie-lang/natalie/actions/runs/9228082880/job/25391386856?pr=2042 This method is used by Prism, currently some deprecation warnings are turned into NoMethodErrors because it tries to use this method. Implementing this will make it a lot easier...
Because of the way we build our argument instructions, the following code produces a compilation error: https://github.com/rack/rack/blob/main/lib/rack/multipart/uploaded_file.rb#L16-L17 Basically, you cannot have this: ```ruby def foo(a = 1, b: a) end...