kou (Kouhei Sutou)
- Login: kou
- Email: kou@cozmixng.org
- Registered on: 06/03/2008
- Last sign in: 02/22/2024
Issues
| open | closed | Total | |
|---|---|---|---|
| Assigned issues | 1 | 95 | 96 |
| Reported issues | 1 | 12 | 13 |
Projects
| Project | Roles | Registered on |
|---|---|---|
| Ruby | Committer | 07/04/2008 |
Activity
09/11/2026
-
12:33 AM Ruby Feature #22056: Add zero-copy String constructor backed by an arbitrary Ruby object
- Eregon (Benoit Daloze) wrote in #note-30:
> The IO::Buffer might be GC'd or free'd, and the slice_string result live longer.
> ...
I'm not sure what situation you assumed. "The IO::Buffer" is "buffer" in `buffer = IO::Buffer.for("......
09/09/2026
-
10:10 PM Ruby Feature #22056: Add zero-copy String constructor backed by an arbitrary Ruby object
- Eregon (Benoit Daloze) wrote in #note-25:
> And also the buffer String (taking the example of an IO::Buffer backed by a String) must never change its `RSTRING_PTR()`, so pinned forever (otherwise the GC can move an embedded String) and ... -
10:04 PM Ruby Feature #22056: Add zero-copy String constructor backed by an arbitrary Ruby object
- Eregon (Benoit Daloze) wrote in #note-23:
> Also to state the obvious this `No existing API creates a String that is not NUL-terminated` argument is rather weak, Strings are passed in many places in a program, suppose some gem uses `sli... -
09:47 PM Ruby Feature #22056: Add zero-copy String constructor backed by an arbitrary Ruby object
- Eregon (Benoit Daloze) wrote in #note-22:
> the `IO::Buffer` might reallocate (e.g. if appended to), and the `char*` in the result of `IO::Buffer#slice_string` would then become invalid or free()'d.
> ...
We can avoid it by `rb_io_buff...
07/17/2026
-
01:55 AM Ruby Bug #21883: IO::Buffer can be unlocked and freed by another thread during syscall
- The `IO::Buffer#locked` document says that it's not thread safe explicitly.
https://github.com/ruby/ruby/blob/ca52ee245721efdc01f6304b6b1bc1294b47ed33/io_buffer.c#L1583-L1585
> Locking is not thread safe. It is designed as a safety...
07/07/2026
-
09:29 PM Ruby Feature #22102: C API to obtain a C string from a Ruby String
- +1
07/02/2026
-
07:43 AM Ruby Feature #22118: Introduce Basic Bit Operations into String
- It's just an idea...
How about removing `lsb_first:` and always processing `offset` as LSB first offset? But we'll also provide `Integer#to_msb_offset`.
```ruby
data = "\x01"
p data.bit_at(0.to_msb_offset) # => 1 # (0.to_msb_offs...
06/23/2026
-
08:17 PM Ruby Bug #22125: IO::Buffer triggers use-after-free when it's freed/resized during enumeration
- We're already discussing how to fix this case in https://github.com/ruby/ruby/pull/17398 .
06/10/2026
-
05:33 AM Ruby Feature #19315: Lazy substrings in CRuby
- Dan0042 (Daniel DeLorme) wrote in #note-37:
> > I think that we don't need to introduce `RSTRING_RAW_END()` or something. We can just recommend `RSTRING_RAW_PTR() + RSTRING_LEN()` instead of `RSTRING_END()`.
> ...
I'm not sure the orig... -
12:11 AM Ruby Feature #19315: Lazy substrings in CRuby
- rhenium (Kazuki Yamaguchi) wrote in #note-35:
> If we go down the route of having `RSTRING_PTR()` lazily allocate a NUL-terminated buffer in it, that is a breaking change on its own because it introduces the possibility of GC and long...