std.v2020.algorithm etc[ WAS: Is run.d going to be expand for runtime and the phobos library?]

Stanislav Blinov stanislav.blinov at gmail.com
Sat Jun 20 12:30:43 UTC 2020


On Saturday, 20 June 2020 at 11:20:13 UTC, Petar Kirov 
[ZombineDev] wrote:

> As far as I know, back when the ranges API was worked on 
> postblit ctors didn't work reliably, so .save() was the only 
> option.

Funny that, at the moment it's the copy ctors that aren't working 
reliably (e.g. they're not working at all with arrays). :)

> If it had worked, we could require that non-forward ranges are 
> non-copyable.

I can imagine this would be quite some work to adapt all of 
Phobos to *that*. I mean, things like

auto rem = makeSomeInputRange.find!pred;
auto flt = makeSomeInputRange.filter!pred;

Those would not compile. They could be made to compile by 
`move`ing the argument for the return. But then you still won't 
be able to pass those results around, unless via a refRange or 
`move`.


More information about the Digitalmars-d mailing list