patch / cldr-number-pm5

Localized number formatters using the Unicode CLDR
https://metacpan.org/pod/CLDR::Number
Other
8 stars 3 forks source link

deprecate mutable locales #38

Open patch opened 9 years ago

patch commented 9 years ago

The locale attribute being mutable has caused additional code, complexity, and bugs. The problem is that it is a rw attribute that sets a dozen or so other rw attributes. It's difficult to maintain these inherited attributes that should be lazy, publicly writable, and change based on changes to locale. The solution is to change locale from rw to ro. This is backward-incompatible, but there are no known real-world uses of a mutable locale other than convenience in unit tests and examples.

  1. Publicly announce upcoming deprecation of the locale method used as a setter and request feedback.
  2. Document the deprecation in the next release of CLDR::Number.
  3. Warn when mutating the locale in a further release.
  4. Finally, change the locale from rw to ro and remove related code.

Comments and suggestions highly appreciated!