On Mon, 11 Dec 2023 19:42:30 GMT, Naoto Sato <na...@openjdk.org> wrote:
>> Updated the Currency build process to disallow any Currencies that are >> future Currencies. This prevents the future currency, "XCG" from leaking out >> into `Currency.getAvailableCurrencies()`. (This was only exposed now, since >> the previous future Currencies were already ones expected to be found in >> `Currency.getAvailableCurrencies()`. For example, Amendment 174 where HRK >> was replaced by EUR. >> >> (Tiers 1-5 clean with this change) > > IIUC, this should have happened before, as a currency update like "XXA" -> > "XXB" on a future date is pretty usual. I think this issue was simply not > discovered by any users till now. I think this wasn't discovered/hasn't failed the test before because the amendments with future date changes most of the time were implemented after the date already occurred, so there was no cut-over, simply a new currency directly replacing the old (For example, ISO 171 SLE replacing SLL was direct). In the case where the cut-over hadn't happened, like 174 where EUR replaced HRK, EUR is already expected to be returned by `Currency.getAvailableCurrencies()` so there was no issue. I claimed that this particular amendment exposed it, because if this case had happened before with an amendment update, it would have caused validateISO4217.java to fail (as it does with this case). Since that test checks if the set returned by the method does not contain any future currencies. ------------- PR Review Comment: https://git.openjdk.org/jdk/pull/17023#discussion_r1423178773