Should the "front" range primitive be "const" ?
Simen Kjærås
simen.kjaras at gmail.com
Thu Feb 1 07:52:32 UTC 2018
On Wednesday, 31 January 2018 at 01:45:57 UTC, H. S. Teoh wrote:
> I haven't thought through it carefully, but if .headConst is a
> viable solution to the head-const problem, then conceivably we
> could also extend it to deal with immutable payloads too. Then
> we could go from, say, RefCounted!(immutable(T)) to
> RefCounted!(const(T)) generically, without any casting or
> breaking the type system. We could potentially expand the
> scope of usefulness of immutable this way, if this approach
> turns out to be workable.
Going from RefCounted!(immutable(T)) to RefCounted!(const(T)) is
nice, but I'd like to see a conversion from, const(RefCounted!T)
to RefCounted!(const(T)). While this cannot be done without
casts, the logic can be put inside .headMutable(), and include
relevant checks. This will make it much safer than having the
programmer cast manually.
--
Simen
More information about the Digitalmars-d-learn
mailing list