[ruby-core:119737] [Ruby master Bug#20753] [doc] IO::Buffer examples try to write into readonly buffer returned from IO::Buffer.for
From:
"ioquatix (Samuel Williams) via ruby-core" <ruby-core@...>
Date:
2024-11-05 15:52:40 UTC
List:
ruby-core #119737
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/
______________________________________________
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/