ruby-concurrency / concurrent-ruby

Modern concurrency tools including agents, futures, promises, thread pools, supervisors, and more. Inspired by Erlang, Clojure, Scala, Go, Java, JavaScript, and classic concurrency patterns.
https://ruby-concurrency.github.io/concurrent-ruby/
Other
5.68k stars 418 forks source link

Require Ruby 2.3+ and drop Ruby 2.2 support #975

Closed eregon closed 1 year ago

eregon commented 1 year ago

Example failed CI run on 2.2: https://github.com/ruby-concurrency/concurrent-ruby/actions/runs/3749315062/jobs/6367656392

compiling ../../../../ext/concurrent-ruby-ext/atomic_reference.c
../../../../ext/concurrent-ruby-ext/atomic_reference.c: In function ‘ir_alloc’:
../../../../ext/concurrent-ruby-ext/atomic_reference.c:47:10: warning: implicit declaration of function ‘rb_data_object_wrap’; did you mean ‘rb_data_object_get’? [-Wimplicit-function-declaration]
   47 |   return rb_data_object_wrap(klass, (void *) Qnil, ir_mark, NULL);
      |          ^~~~~~~~~~~~~~~~~~~
      |          rb_data_object_get
eregon commented 1 year ago

Bundler 2 also needs Ruby 2.3+ so this also simplifies the experience for local development (also 2.2 is quite messy to install).