On Thursday, 24 June 2021 at 00:32:31 UTC, Steven Schveighoffer wrote:
On 6/23/21 7:07 PM, someone wrote:
On Wednesday, 23 June 2021 at 22:46:28 UTC, Steven Schveighoffer wrote:

Use the `release` method:

```d
return lnumRange.sort!(...).release;
```


Fantastic, issue solved, I previously used sort ascending even descending but first time on floats.

So I went and searched phobos docs:

auto release();
Releases the controlled range and returns it.

Not much clarification there.

Can you elaborate a bit if possible Steve ?

I think the purpose behind it is to say "here, now you have the original range back, so I won't guarantee it's sorted any more."

I for one still don't understand.

guarantee? are you saying without the `release()` call, the sorted-ness is somehow guaranteed?

I'm pretty sure it also clears out the source range in the sorted range, so you can no longer use the sortedness functions, but that's easily circumvented using `save`.

This `SortedRange` definitely need better documentation. E.g. users can easily convert their `sort()` code to D from Java or Python code after reading the doc.


I can't really defend the purpose/implementation of `SortedRange`, it's something in Phobos that I've complained about extensively in the past.

(Sure, I'm not blaming you.)

Reply via email to