Creeping Bloat in Phobos
via Digitalmars-d
digitalmars-d at puremagic.com
Sun Sep 28 03:04:21 PDT 2014
On Saturday, 27 September 2014 at 23:33:14 UTC, H. S. Teoh via
Digitalmars-d wrote:
> On Sat, Sep 27, 2014 at 11:00:16PM +0000, bearophile via
> Digitalmars-d wrote:
>> H. S. Teoh:
>>
>> >If we can get Andrei on board, I'm all for killing off
>> >autodecoding.
>>
>> Killing auto-decoding for std.algorithm functions will break
>> most of
>> my D2 code... perhaps we can do that in a D3 language.
> [...]
>
> Well, obviously it's not going to be done in a careless,
> drastic way!
>
> There will be a proper migration path and deprecation cycle. We
> already
> have byCodeUnit and byCodePoint, and the first step is probably
> to
> migrate towards requiring usage of one or the other for
> iterating over
> strings, and only once all code is using them, we will get rid
> of
> autodecoding (the job now being done by byCodePoint). Then, the
> final
> step would be to allow the direct use of strings in iteration
> constructs
> again, but this time without autodecoding by default. Of course,
> .byCodePoint will still be available for code that needs to use
> it.
The final step would almost inevitably lead to Unicode
incorrectness, which was the reason why autodecoding was
introduced in the first place. Just require
byCodePoint/byCodeUnit, always. It might be a bit inconvenient,
but that's a consequence of the fact that we're dealing with
Unicode strings.
More information about the Digitalmars-d
mailing list