On 05/24/2013 11:49 AM, Jacob Carlborg wrote: > toUpper/lower cannot be made in place if it should handle all Unicode. Some > characters will change their length when convert to/from uppercase. Examples > of > these are the German double S and some Turkish I.
Surely it's possible to put in-place checks for whether the character length changes, and ensure in-place replacement without any allocation if it doesn't. (To be honest, feels a bit of a design flaw in Unicode that character length can change between lower- and uppercase.)