Project

General

Profile

Actions

Bug #20753

closed

[doc] IO::Buffer examples try to write into readonly buffer returned from IO::Buffer.for

Added by hanazuki (Kasumi Hanazuki) 2 months ago. Updated 16 days ago.

Status:
Closed
Target version:
-
ruby -v:
ruby 3.4.0dev (2024-09-18T02:16:22Z master 4797b0704a) +PRISM [x86_64-linux]
[ruby-core:119250]

Description

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

Actions

Also available in: Atom PDF

Like0
Like0Like0Like0