makeIndex not working
Jonathan M Davis
jmdavisProg at gmx.com
Sat Jul 2 19:22:22 PDT 2011
On 2011-07-02 18:14, Johann MacDonagh wrote:
> On 7/2/2011 9:00 PM, Johann MacDonagh wrote:
> > On 7/2/2011 9:00 PM, bearophile wrote:
> >> Johann MacDonagh:
> >>> I'm confused, what am I doing wrong here?
> >>
> >> I think that Phobos needs way more&better unittests.
> >>
> >> I think the error you receive reduces to this:
> >>
> >> import std.range: isForwardRange;
> >>
> >> void foo(R)(R r) if (isForwardRange!R) {}
> >>
> >> void main() {
> >> immutable arr = [1, 2];
> >> foo(arr);
> >> }
> >>
> >> Bye,
> >> bearophile
> >
> > Strangely enough there is a unit test for this...
> > https://github.com/D-Programming-Language/phobos/blob/phobos-2.053/std/al
> > gorithm.d#L6742
> >
> >
> > Does this code fail to compile for you too? I want to make sure I didn't
> > mess up my config here.
>
> Ah, here we go:
>
> http://d.puremagic.com/issues/show_bug.cgi?id=6148
>
> Replacing immutable with auto works. I'm still confused how the phobos
> unit tests pass though...
That's because they're using immutable(int)[], not immutable int[]. The
elements in the range are immutable, but the range is not. Whereas with
immutable int[], the whole thing is immutable, so it doesn't work. The range
has to be mutable.
- Jonathan M Davis
More information about the Digitalmars-d-learn
mailing list