[ruby-core:119250] [Ruby master Bug#20753] [doc] IO::Buffer examples try to write into readonly buffer returned from IO::Buffer.for

Issue #20753 has been reported by hanazuki (Kasumi Hanazuki). ---------------------------------------- Bug #20753: [doc] IO::Buffer examples try to write into readonly buffer returned from IO::Buffer.for https://bugs.ruby-lang.org/issues/20753 * Author: hanazuki (Kasumi Hanazuki) * Status: Open * ruby -v: ruby 3.4.0dev (2024-09-18T02:16:22Z master 4797b0704a) +PRISM [x86_64-linux] * Backport: 3.1: UNKNOWN, 3.2: UNKNOWN, 3.3: UNKNOWN ---------------------------------------- `IO::Buffer.for` without a block returns a readonly `IO::Buffer`. Some examples in the documentation for `IO::Buffer` write into the readonly buffers, which actually raise an `IO::Buffer::AccessError`. From `IO::Buffer#clear`:
``` buffer = IO::Buffer.for('test') # => # <IO::Buffer 0x00007fca40087c38+4 SLICE> # 0x00000000 74 65 73 74 test
buffer.clear # => # <IO::Buffer 0x00007fca40087c38+4 SLICE> # 0x00000000 00 00 00 00 .... ```
From `IO::Buffer#copy`:
``` string= "data: " # => "data: " buffer = IO::Buffer.for(string) buffer.copy(IO::Buffer.for("test"), 5) # => 4 ```
And `IO::Buffer#slice`, which should be fixed along with its implementation #20752 -- https://bugs.ruby-lang.org/

Issue #20753 has been updated by mame (Yusuke Endoh). Assignee set to ioquatix (Samuel Williams) ---------------------------------------- Bug #20753: [doc] IO::Buffer examples try to write into readonly buffer returned from IO::Buffer.for https://bugs.ruby-lang.org/issues/20753#change-109958 * Author: hanazuki (Kasumi Hanazuki) * Status: Open * Assignee: ioquatix (Samuel Williams) * ruby -v: ruby 3.4.0dev (2024-09-18T02:16:22Z master 4797b0704a) +PRISM [x86_64-linux] * Backport: 3.1: UNKNOWN, 3.2: UNKNOWN, 3.3: UNKNOWN ---------------------------------------- `IO::Buffer.for` without a block returns a readonly `IO::Buffer`. Some examples in the documentation for `IO::Buffer` write into the readonly buffers, which actually raise an `IO::Buffer::AccessError`. From `IO::Buffer#clear`:
``` buffer = IO::Buffer.for('test') # => # <IO::Buffer 0x00007fca40087c38+4 SLICE> # 0x00000000 74 65 73 74 test
buffer.clear # => # <IO::Buffer 0x00007fca40087c38+4 SLICE> # 0x00000000 00 00 00 00 .... ```
From `IO::Buffer#copy`:
``` string= "data: " # => "data: " buffer = IO::Buffer.for(string) buffer.copy(IO::Buffer.for("test"), 5) # => 4 ```
And `IO::Buffer#slice`, which should be fixed along with its implementation #20752 -- https://bugs.ruby-lang.org/

Issue #20753 has been updated by ioquatix (Samuel Williams). https://github.com/ruby/ruby/pull/11737 ---------------------------------------- Bug #20753: [doc] IO::Buffer examples try to write into readonly buffer returned from IO::Buffer.for https://bugs.ruby-lang.org/issues/20753#change-109972 * Author: hanazuki (Kasumi Hanazuki) * Status: Open * Assignee: ioquatix (Samuel Williams) * ruby -v: ruby 3.4.0dev (2024-09-18T02:16:22Z master 4797b0704a) +PRISM [x86_64-linux] * Backport: 3.1: UNKNOWN, 3.2: UNKNOWN, 3.3: UNKNOWN ---------------------------------------- `IO::Buffer.for` without a block returns a readonly `IO::Buffer`. Some examples in the documentation for `IO::Buffer` write into the readonly buffers, which actually raise an `IO::Buffer::AccessError`. From `IO::Buffer#clear`:
``` buffer = IO::Buffer.for('test') # => # <IO::Buffer 0x00007fca40087c38+4 SLICE> # 0x00000000 74 65 73 74 test
buffer.clear # => # <IO::Buffer 0x00007fca40087c38+4 SLICE> # 0x00000000 00 00 00 00 .... ```
From `IO::Buffer#copy`:
``` string= "data: " # => "data: " buffer = IO::Buffer.for(string) buffer.copy(IO::Buffer.for("test"), 5) # => 4 ```
And `IO::Buffer#slice`, which should be fixed along with its implementation #20752 -- https://bugs.ruby-lang.org/

Issue #20753 has been updated by ioquatix (Samuel Williams). Status changed from Open to Closed Thanks for your report, this is now fixed. ---------------------------------------- Bug #20753: [doc] IO::Buffer examples try to write into readonly buffer returned from IO::Buffer.for https://bugs.ruby-lang.org/issues/20753#change-110402 * Author: hanazuki (Kasumi Hanazuki) * Status: Closed * Assignee: ioquatix (Samuel Williams) * ruby -v: ruby 3.4.0dev (2024-09-18T02:16:22Z master 4797b0704a) +PRISM [x86_64-linux] * Backport: 3.1: UNKNOWN, 3.2: UNKNOWN, 3.3: UNKNOWN ---------------------------------------- `IO::Buffer.for` without a block returns a readonly `IO::Buffer`. Some examples in the documentation for `IO::Buffer` write into the readonly buffers, which actually raise an `IO::Buffer::AccessError`. From `IO::Buffer#clear`:
``` buffer = IO::Buffer.for('test') # => # <IO::Buffer 0x00007fca40087c38+4 SLICE> # 0x00000000 74 65 73 74 test
buffer.clear # => # <IO::Buffer 0x00007fca40087c38+4 SLICE> # 0x00000000 00 00 00 00 .... ```
From `IO::Buffer#copy`:
``` string= "data: " # => "data: " buffer = IO::Buffer.for(string) buffer.copy(IO::Buffer.for("test"), 5) # => 4 ```
And `IO::Buffer#slice`, which should be fixed along with its implementation #20752 -- https://bugs.ruby-lang.org/
participants (3)
-
hanazuki (Kasumi Hanazuki)
-
ioquatix (Samuel Williams)
-
mame (Yusuke Endoh)