[ruby-core:121466] [Ruby Bug#21199] Psych.dump and load on Date before 1582-10-15
From:
"nobu (Nobuyoshi Nakada) via ruby-core" <ruby-core@...>
Date:
2025-03-28 04:06:02 UTC
List:
ruby-core #121466
Issue #21199 has been updated by nobu (Nobuyoshi Nakada).
Status changed from Feedback to Third Party's Issue
Backport changed from 3.1: UNKNOWN, 3.2: UNKNOWN, 3.3: UNKNOWN, 3.4: UNKNOWN to 3.1: DONTNEED, 3.2: DONTNEED, 3.3: DONTNEED, 3.4: DONTNEED
YAML has no specification of calendar systems.
If YAML specifies it, we would obey it of course.
Until then, YAML is not suitable for such dates, just don't use such dates.
----------------------------------------
Bug #21199: Psych.dump and load on Date before 1582-10-15
https://bugs.ruby-lang.org/issues/21199#change-112469
* Author: fitmap (Justin Peal)
* Status: Third Party's Issue
* ruby -v: ruby 3.2.2 (2023-03-30 revision e51014f9c0) [x64-mingw-ucrt]
* Backport: 3.1: DONTNEED, 3.2: DONTNEED, 3.3: DONTNEED, 3.4: DONTNEED
----------------------------------------
The code is:
```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}"
```
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 -- 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/