[#121215] [Ruby master Bug#21166] Fiber Scheduler is unable to be interrupted by `IO#close`. — "ioquatix (Samuel Williams) via ruby-core" <ruby-core@...>

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

13 messages 2025/03/02

[#121222] [Ruby master Bug#21167] Visual Studio 2022 17.13.x couldn't build ruby.exe — "hsbt (Hiroshi SHIBATA) via ruby-core" <ruby-core@...>

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

8 messages 2025/03/03

[#121234] [Ruby master Bug#21168] Prism doesn't require argument parentheses (in some cases) when a block is present but parse.y does — "Earlopain (Earlopain _) via ruby-core" <ruby-core@...>

Issue #21168 has been reported by Earlopain (Earlopain _).

8 messages 2025/03/04

[#121389] [Ruby Bug#21187] Strings concatenated with `\` getting frozen with literal hashes (PRISM only) — LocoDelAssembly via ruby-core <ruby-core@...>

Issue #21187 has been reported by LocoDelAssembly (Hern=E1n Pereira).

12 messages 2025/03/17

[#121413] [Ruby Bug#21193] Inherited callback returns `nil` for `Object.const_source_location` — "eileencodes (Eileen Uchitelle) via ruby-core" <ruby-core@...>

Issue #21193 has been reported by eileencodes (Eileen Uchitelle).

15 messages 2025/03/20

[#121451] [Ruby Bug#21201] Performance regression when defining methods inside `refine` blocks — "alpaca-tc (Hiroyuki Ishii) via ruby-core" <ruby-core@...>

Issue #21201 has been reported by alpaca-tc (Hiroyuki Ishii).

8 messages 2025/03/27

[ruby-core:121449] [Ruby Bug#21199] Psych.dump and load on Date before 1582-10-15

From: "mame (Yusuke Endoh) via ruby-core" <ruby-core@...>
Date: 2025-03-27 09:52:51 UTC
List: ruby-core #121449
Issue #21199 has been updated by mame (Yusuke Endoh).

Status changed from Open to Feedback

Note that `date` and `date2` are equal in your reproduction code.

```ruby
require 'date'
require 'psych'

date = Date.new(1582, 10, 4)
p "date=#{date.inspect}"
str = Psych.dump(date, permitted_classes: [Date])
p "str=#{str}"
date2 = Psych.load(str, permitted_classes: [Date])
p "date2=#{date2.inspect}"

p date == date2 #=> true
```

The issue is that YAML cannot retain calendar information.
When Psych serializes a `Date` object, it converts it to `Date::GREGORIAN` (the proleptic Gregorian calendar).
As a result, the serialized YAML contains `--- 1582-10-14`, which is intentional.

When deserializing a `Date` from YAML, a `Date::GREGORIAN` Date object is generated.
I believe it would be possible to convert it to an `Date::ITALY` Date object by default.
However, consider a case where a user manually writes `--- 1582-10-14` in YAML and loads it with Psych.
They would then get `Date.new(1582, 10, 4)`, which could be an unexpected result.

For this reason, I thinkg the current behavior is unavoidable.
If you have a specific proposal on how to fix it, please write it.

----------------------------------------
Bug #21199: Psych.dump and load on Date before 1582-10-15
https://bugs.ruby-lang.org/issues/21199#change-112448

* Author: fitmap (Justin Peal)
* Status: Feedback
* ruby -v: ruby 3.2.2 (2023-03-30 revision e51014f9c0) [x64-mingw-ucrt]
* Backport: 3.1: UNKNOWN, 3.2: UNKNOWN, 3.3: UNKNOWN, 3.4: UNKNOWN
----------------------------------------
The code is:

require 'date'
require 'psych'

date = Date.new(1582, 10, 4)
p "date=#{date.inspect}"
str = Psych.dump(date, permitted_classes: [Date])
p "str=#{str}"
date2 = Psych.load(str, permitted_classes: [Date])
p "date2=#{date2.inspect}"

The output is:

"date=#<Date: 1582-10-04 ((2299160j,0s,0n),+0s,2299161j)>"
"str=--- 1582-10-14\n"
"date2=#<Date: 1582-10-14 ((2299160j,0s,0n),+0s,-Infj)>"




-- 
https://bugs.ruby-lang.org/
 ______________________________________________
 ruby-core mailing list -- [email protected]
 To unsubscribe send an email to [email protected]
 ruby-core info -- https://ml.ruby-lang.org/mailman3/lists/ruby-core.ml.ruby-lang.org/


In This Thread