Range returned by iota and const
Jonathan M Davis
jmdavisProg at gmx.com
Tue Apr 17 11:08:45 PDT 2012
On Tuesday, April 17, 2012 19:22:30 André Stein wrote:
> Hi,
>
> I'm trying to pass the range returned by iota to a function accepting
> the parameter as const. I got compilation errors when trying to use the
> index operator and after some investigation it turned out that opSlice
> of iota.Result isn't declared as const.
>
> The function body of opSlice of iota.Result doesn't seem to mutate the
> range so is there any special reason why it isn't declared as such? (the
> same holds for opSlice).
Very little on ranges ends up being marked const, because const ranges tend to
be useless (since you can't iterate over them). There are a few cases where
you could use a range function even if the range is const (this at least
appears to be one of them), but const typically gets forgotten simply because
const ranges are generally useless. You can open an enhancement request (
d.puremagic.com/issues ) for this though.
- Jonathan M Davis
More information about the Digitalmars-d-learn
mailing list