[#111565] [Ruby master Bug#19293] The new Time.new(String) API is nice... but we still need a stricter version of this — "matsuda (Akira Matsuda) via ruby-core" <ruby-core@...>

Issue #19293 has been reported by matsuda (Akira Matsuda).

8 messages 2023/01/01

[#111572] [Ruby master Bug#19297] Don't download content from internet to execute Ruby test suite — "vo.x (Vit Ondruch) via ruby-core" <ruby-core@...>

Issue #19297 has been reported by vo.x (Vit Ondruch).

12 messages 2023/01/02

[#111579] [Ruby master Feature#19300] Move public objects from Kernel to Object — "zverok (Victor Shepelev) via ruby-core" <ruby-core@...>

Issue #19300 has been reported by zverok (Victor Shepelev).

15 messages 2023/01/02

[#111581] [Ruby master Bug#19301] Fix Data class to report keyrest instead of rest parameters — "bkuhlmann (Brooke Kuhlmann) via ruby-core" <ruby-core@...>

SXNzdWUgIzE5MzAxIGhhcyBiZWVuIHJlcG9ydGVkIGJ5IGJrdWhsbWFubiAoQnJvb2tlIEt1aGxt

8 messages 2023/01/02

[#111604] [Ruby master Misc#19304] Kernel vs Object documentation — "zverok (Victor Shepelev) via ruby-core" <ruby-core@...>

Issue #19304 has been reported by zverok (Victor Shepelev).

8 messages 2023/01/03

[#111674] [Ruby master Feature#19314] String#bytesplice should support partial copy — "shugo (Shugo Maeda) via ruby-core" <ruby-core@...>

Issue #19314 has been reported by shugo (Shugo Maeda).

8 messages 2023/01/06

[#111678] [Ruby master Feature#19315] Lazy substrings in CRuby — "Eregon (Benoit Daloze) via ruby-core" <ruby-core@...>

Issue #19315 has been reported by Eregon (Benoit Daloze).

11 messages 2023/01/06

[#111693] [Ruby master Bug#19316] YJIT crash in 3.2.0 — "jdashton (J Daniel Ashton) via ruby-core" <ruby-core@...>

Issue #19316 has been reported by jdashton (J Daniel Ashton).

12 messages 2023/01/06

[#111696] [Ruby master Feature#19317] Unicode ICU Full case mapping — "noraj (Alexandre ZANNI) via ruby-core" <ruby-core@...>

SXNzdWUgIzE5MzE3IGhhcyBiZWVuIHJlcG9ydGVkIGJ5IG5vcmFqIChBbGV4YW5kcmUgWkFOTkkp

7 messages 2023/01/06

[#111712] [Ruby master Feature#19322] Support spawning "private" child processes — "kjtsanaktsidis (KJ Tsanaktsidis) via ruby-core" <ruby-core@...>

SXNzdWUgIzE5MzIyIGhhcyBiZWVuIHJlcG9ydGVkIGJ5IGtqdHNhbmFrdHNpZGlzIChLSiBUc2Fu

14 messages 2023/01/07

[#111739] [Ruby master Feature#19324] Enumerator.product => Enumerable#product — "zverok (Victor Shepelev) via ruby-core" <ruby-core@...>

Issue #19324 has been reported by zverok (Victor Shepelev).

18 messages 2023/01/08

[#111740] [Ruby master Bug#19325] Windows support lacking. — "dsisnero (Dominic Sisneros) via ruby-core" <ruby-core@...>

Issue #19325 has been reported by dsisnero (Dominic Sisneros).

11 messages 2023/01/08

[#111742] [Ruby master Feature#19326] Please add a better API for passing a Proc to a Ractor — sdwolfz via ruby-core <ruby-core@...>

SXNzdWUgIzE5MzI2IGhhcyBiZWVuIHJlcG9ydGVkIGJ5IHNkd29sZnogKENvZHJ1yJsgR3XImW9p

13 messages 2023/01/08

[#111789] [Ruby master Feature#19333] Setting (Fiber Local|Thread Local|Fiber Storage) to nil should delete value in order to avoid memory leaks. — "ioquatix (Samuel Williams) via ruby-core" <ruby-core@...>

Issue #19333 has been reported by ioquatix (Samuel Williams).

10 messages 2023/01/11

[#111792] [Ruby master Bug#19334] Defining many instance variables and accessing them is slow in Ruby 3.2.0 — "mame (Yusuke Endoh) via ruby-core" <ruby-core@...>

Issue #19334 has been reported by mame (Yusuke Endoh).

12 messages 2023/01/12

[#111812] [Ruby master Bug#19340] Ruby master 'make install' not installing rbs gem — "MSP-Greg (Greg L) via ruby-core" <ruby-core@...>

Issue #19340 has been reported by MSP-Greg (Greg L).

8 messages 2023/01/14

[#111842] [Ruby master Feature#19347] Add Dir.fchdir — "jeremyevans0 (Jeremy Evans) via ruby-core" <ruby-core@...>

Issue #19347 has been reported by jeremyevans0 (Jeremy Evans).

9 messages 2023/01/16

[#111873] [Ruby master Bug#19351] Promote bundled gems at Ruby 3.3 — "hsbt (Hiroshi SHIBATA) via ruby-core" <ruby-core@...>

Issue #19351 has been reported by hsbt (Hiroshi SHIBATA).

26 messages 2023/01/18

[#111890] [Ruby master Bug#19352] Feature #17391 was not such a good idea because now Ruby 3.2 can not install Rails v5 or v6 if they use webpacker. — "Milella@... (Scott Milella) via ruby-core" <ruby-core@...>

Issue #19352 has been reported by Milella@Hotmail.com (Scott Milella).

16 messages 2023/01/19

[#111953] [Ruby master Bug#19362] #dup on Proc doesn't call initialize_dup — "zverok (Victor Shepelev) via ruby-core" <ruby-core@...>

Issue #19362 has been reported by zverok (Victor Shepelev).

8 messages 2023/01/21

[#111956] [Ruby master Bug#19363] Fix rb_transient_heap_mark: wrong header (T_STRUCT) segfault — "bkuhlmann (Brooke Kuhlmann) via ruby-core" <ruby-core@...>

SXNzdWUgIzE5MzYzIGhhcyBiZWVuIHJlcG9ydGVkIGJ5IGJrdWhsbWFubiAoQnJvb2tlIEt1aGxt

9 messages 2023/01/21

[#111988] [Ruby master Feature#19370] Anonymous parameters for blocks? — "zverok (Victor Shepelev) via ruby-core" <ruby-core@...>

Issue #19370 has been reported by zverok (Victor Shepelev).

10 messages 2023/01/23

[#112041] [Ruby master Feature#19377] Rename Fiber#storage to Fiber.storage — "zverok (Victor Shepelev) via ruby-core" <ruby-core@...>

Issue #19377 has been reported by zverok (Victor Shepelev).

8 messages 2023/01/25

[#112045] [Ruby master Bug#19378] Windows: Use less syscalls for faster require of big gems — "aidog (Andi Idogawa) via ruby-core" <ruby-core@...>

SXNzdWUgIzE5Mzc4IGhhcyBiZWVuIHJlcG9ydGVkIGJ5IGFpZG9nIChBbmRpIElkb2dhd2EpLg0N

7 messages 2023/01/26

[#112048] [Ruby master Bug#19379] Regex: "end pattern with unmatched parenthesis" with Ruby 3.2 and interpolation — "renchap (Renaud Chaput) via ruby-core" <ruby-core@...>

Issue #19379 has been reported by renchap (Renaud Chaput).

8 messages 2023/01/26

[#112058] [Ruby master Bug#19383] Time.now.zone encoding for German display language in Windows is incorrect — "stringsn88keys (Thomas Powell) via ruby-core" <ruby-core@...>

SXNzdWUgIzE5MzgzIGhhcyBiZWVuIHJlcG9ydGVkIGJ5IHN0cmluZ3NuODhrZXlzIChUaG9tYXMg

11 messages 2023/01/26

[#112072] [Ruby master Bug#19386] `test_hmac.rb` of openssl is timeout on RHEL9 — "hsbt (Hiroshi SHIBATA) via ruby-core" <ruby-core@...>

Issue #19386 has been reported by hsbt (Hiroshi SHIBATA).

14 messages 2023/01/27

[#112091] [Ruby master Bug#19387] Issue with ObjectSpace.each_objects not returning IO objects after starting a ractor — "luke-gru (Luke Gruber) via ruby-core" <ruby-core@...>

Issue #19387 has been reported by luke-gru (Luke Gruber).

9 messages 2023/01/27

[#112119] [Ruby master Bug#19392] Endless method vs and/or — "zverok (Victor Shepelev) via ruby-core" <ruby-core@...>

Issue #19392 has been reported by zverok (Victor Shepelev).

20 messages 2023/01/30

[#112146] [Ruby master Bug#19394] cvars in instance of cloned class point to source class's cvars even after class_variable_set on clone — "jamescdavis (James Davis) via ruby-core" <ruby-core@...>

SXNzdWUgIzE5Mzk0IGhhcyBiZWVuIHJlcG9ydGVkIGJ5IGphbWVzY2RhdmlzIChKYW1lcyBEYXZp

8 messages 2023/01/31

[ruby-core:111918] [Ruby master Feature#19245] Strict mode for Array#pack that doesn't silently truncate numbers that are too large for the given directive

From: "mame (Yusuke Endoh) via ruby-core" <ruby-core@...>
Date: 2023-01-20 04:37:50 UTC
List: ruby-core #111918
Issue #19245 has been updated by mame (Yusuke Endoh).


Discussed at the dev meeting. We need to determine some detailed behaviors:

* Should `[-1].pack("C", strict: true)` raise an exception because 'C' represents unsigned char? If what you want is "wrap around", it should raise an error because `[-1].pack("C").unpack1("C")` returns 255, not -1.
* Should `[255].pack("c", strict: true)` raise an exception?
* Should `["foo"].pack("a2", strict: true)` raise an exception?
* Should `["f"].pack("a2", strict: true)` raise an exception?
* Perhaps we need to consider what is out of range for each format.

And just for the record: @nobu proposed a new modifier to check out-of-range value, such as `[256].pack("c^") #=> error`. This allows users to determine out-of-range policy per element in one format. However, @matz disliked it.

----------------------------------------
Feature #19245: Strict mode for Array#pack that doesn't silently truncate numbers that are too large for the given directive
https://bugs.ruby-lang.org/issues/19245#change-101341

* Author: byroot (Jean Boussier)
* Status: Open
* Priority: Normal
----------------------------------------
```ruby
>> [256].pack("C").unpack1("C")
=> 0
>> [257].pack("C").unpack1("C")
=> 1
```

This is specified:

```ruby
  it "encodes the least significant 32 bits of a negative number" do
    [ [[-0x0000_0021], "\xdf\xff\xff\xff"],
      [[-0x0000_4321], "\xdf\xbc\xff\xff"],
      [[-0x0065_4321], "\xdf\xbc\x9a\xff"],
      [[-0x7865_4321], "\xdf\xbc\x9a\x87"]
    ].should be_computed_by(:pack, pack_format())
  end
```

But not documented in `Array#pack`.

I think that in many case this may lead to silent bugs.

### Possible solutions

We could have a strict version of `pack`, either `pack(template, strict: true)` or `pack!(template)`.

Or alternatively if we think this is never a desired behavior, we could change `pack` to first warn on truncation and later raise.





-- 
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/postorius/lists/ruby-core.ml.ruby-lang.org/

In This Thread

Prev Next