Spotted by @Josh-Cena
const d = Temporal.PlainDate.from("+275760-09-13").withCalendar("chinese");
d.year; // RangeError
d.toPlainYearMonth(); // RangeError
This behaviour is not allowed by the spec. Any valid PlainDate must have a valid year
property. The toPlainYearMonth
method might throw at the beginning of the range if the first of the calendar month is outside the ISOPlainYearMonth range, but I believe that can't happen at the end of the range.
This behaviour isn't covered by test262. Firefox apparently has this bug.