On Saturday, 4 June 2016 at 17:35:23 UTC, Seb wrote:
In Phobos (especially in std.algorithm) a lot of specialization between a RandomAccessRange and an InputRange are used even though only an InputRange is required. The reason for this is solely performance - imho we should start to tackle this and remove such specializations. Let's create better code!

The reason for this is solely performance - we should <snip> remove such specializations.

Performance will always be a driving factor. But then again let's not forget an array is not a range, and isn't treated as one unless the primitives are present (which by default they are not).

Arrays in their basic forms are also very common, easy, fairly cheap, etc. Same as slices. I see no reason to drop array based specializations, unless they fail to produce good code.

Reply via email to