Another idiom I wish were gone from phobos/druntime

Andrei Alexandrescu via Digitalmars-d digitalmars-d at puremagic.com
Wed Feb 4 16:24:14 PST 2015


I'm seeing another idiom that seems to become fashionable. Consider this 
excerpt from 
https://github.com/D-Programming-Language/phobos/blob/master/std/algorithm/iteration.d#L407:

             auto opSlice(size_t low, size_t high)
             in
             {
                 assert(low <= high);
             }
             body
             {
                 import std.range : take;
                 return this[low .. $].take(high - low);
             }

which of course trivially boils down to:

             auto opSlice(size_t low, size_t high)
             {
                 assert(low <= high);
                 import std.range : take;
                 return this[low .. $].take(high - low);
             }

What advantage could possibly be in transforming a 5-liner into a 
9-liner? Are we really aiming at writing the maximum possible lines of 
code here and using as many language features as possible everywhere?

I think we should dust off that Phobos contributors' guide. Sadly, there 
is little we can do against the more subtle issues.


Andrei


More information about the Digitalmars-d mailing list