Hey

I'm trying to split a string down the middle. I thought the function std.range.evenChunks would be perfect for this:

```
#!/usr/bin/env -S rdmd -I..

import std.range;

void main() {
        string line = "abcdef";
        auto parts = evenChunks(line, 2);
        assert(parts == ["abc", "def"]);
}
```

But I'm getting a compiler error:

```
/usr/include/dmd/phobos/std/range/package.d(8569): Candidate is: `evenChunks(Source)(Source source, size_t chunkCount)`
  with `Source = string`
  whose parameters have the following constraints:
  `~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~`
`    isForwardRange!Source
  > hasLength!Source
`  `~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~`
./test.d(7): All possible candidates are marked as `deprecated` or `@disable`
```

I'm trying to understand why this doesn't work. I don't really understand the error. If I interpret this correctly, it's missing a length attribute on a string, but shouldn't length be there?

Reply via email to