From: "jeremyevans0 (Jeremy Evans) via ruby-core" Date: 2025-07-11T06:26:33+00:00 Subject: [ruby-core:122727] [Ruby Feature#21459] Add Set C-API Issue #21459 has been updated by jeremyevans0 (Jeremy Evans). Status changed from Open to Closed Feature added in commit:2ab38691a2683c992bf2886159094afd5e461233 ---------------------------------------- Feature #21459: Add Set C-API https://bugs.ruby-lang.org/issues/21459#change-114009 * Author: jeremyevans0 (Jeremy Evans) * Status: Closed ---------------------------------------- I would like to add a minimal C-API for Set: ```c void rb_set_foreach(VALUE set, int (*func)(VALUE element, VALUE arg), VALUE arg); VALUE rb_set_new(void); VALUE rb_set_new_capa(unsigned long capa); bool rb_set_lookup(VALUE set, VALUE element); bool rb_set_add(VALUE set, VALUE element); VALUE rb_set_clear(VALUE set); bool rb_set_delete(VALUE set, VALUE element); size_t rb_set_size(VALUE set); ``` I think this should allow extension libraries to start benefiting from core Set without having to resort to method calls (dangerous in an C extension as they could be redefined to return objects of an unexpected type). I've submitted a pull request for this: https://github.com/ruby/ruby/pull/13735 -- https://bugs.ruby-lang.org/ ______________________________________________ ruby-core mailing list -- ruby-core@ml.ruby-lang.org To unsubscribe send an email to ruby-core-leave@ml.ruby-lang.org ruby-core info -- https://ml.ruby-lang.org/mailman3/lists/ruby-core.ml.ruby-lang.org/