Why MapResult.empty() is not const in Phobos?
Jonathan M Davis
newsgroup.d at jmdavisprog.com
Sat Jul 6 06:56:22 UTC 2019
On Friday, July 5, 2019 11:37:10 PM MDT valmat via Digitalmars-d wrote:
> Minimal examples when it broke code:
> https://run.dlang.io/is/HbEfkJ
> https://run.dlang.io/is/4h1B6Z
In general, it can't be empty, because that would require that the range
it's wrapping have a const empty, and most don't. The only way that map (or
any wrapper range) can have a const empty would be if it goes to the effort
of duplicating the function and uses static ifs to determine whether the
version that's const will work or whether the version that's not const needs
to be compiled in. And since const ranges are basically unusable, because
they can't be iterated, going to that level of effort and making the code
messy in that manner is arguably a waste of time.
- Jonathan M Davis
More information about the Digitalmars-d
mailing list