On 3/6/18 9:50 AM, ixid wrote:
On Tuesday, 6 March 2018 at 14:37:27 UTC, Steven Schveighoffer wrote:
Now, there aren't actually docs for Transposed, but you can find it if you look at std.range.transposed:

https://dlang.org/phobos/std_range.html#transposed


Thanks, I had found that but that is not an explanation unless you have a lot of prior technical understanding of what save is and why it's not working. I guess it's a general doc quality issue - unless you're already very knowledgeable it's pretty much useless to understand the problem you have.

There are 2 problems. One is that Transposed offered .save as a member, when it shouldn't have (it's not a valid forward range). This is clear from trying to even use it as a forward range. Even when you call save, it destroys the original.

The other problem is that I think algorithms are seeing that .save is there, and thinking it's a forward range, so using it that way.

I transposed a range of ranges to pass to a function to get the distance between characters in strings. That works fine, as does printing the result. But it then complains if I try to do anything like fold with the result.

I have no idea how save is called, but apparently it is somewhere in there.

-Steve

Reply via email to