On 10/20/2011 7:37 PM, Jonathan M Davis wrote:
True, but if the default were dchar, then the common case would be have fewer
bugs

Is that really the common case? It's certainly the *slow* case. Common string operations like searching, copying, etc., do not require decoding.

(still allowing you to explicitly use char or wchar when you want to). At
minimum, I think that it would be a good idea to implement
http://d.puremagic.com/issues/show_bug.cgi?id=6652 and make it a warning not
to explicitly give the type with foreach for arrays of char or wchar. It would
catch bugs without changing the behavior of any existing code, and it still
allows you to iterate over either code units or code points.

I like the type deduction feature of foreach, and don't think it should be removed for strings. Currently, it's consistent - T[] gets an element type of T.

I want to reiterate that there's no way to program strings in D without being cognizant of them being a multibyte representation. D is both a high level and a low level language, and you can pick which to use, but you still gotta pick.

Reply via email to