Hi,
I have got this code:
import std.array : array;
import std.algorithm.mutation;
import std.algorithm.iteration;
import std.stdio;

void main()
{
    string input = "sieviaghp";
enum data = ["emo", "emoze", "emow", "emuo", "evuo", "ete", "ie", "vuo", "sie", "w"];

    enum index = 3;
enum filtered = data.filter!(value => value.length > index).array();
    pragma(msg, filtered);

enum GetSeq = filtered.chunkBy!((first, second) => first[index] == second[index]);//.array();
    pragma(msg, GetSeq);
}
There is an array of strings. I filter it using length of each element. Result should be:
["emoze", "emow", "emuo", "evuo"]
Then I want to chuck it using symbol at position 'index' to get this:
["emoze"] // group 1, symbol 'z'
["emow"] // group 2, symbol 'w'
["emuo", "evuo"] // group 1, symbol 'o'
Everything I'm doing at COMPILE time!

But when I try to build program I get this strange error:
/dlang/dmd/linux/bin64/../../src/druntime/import/core/memory.d(827): Error: 
`fakePureErrno` cannot be interpreted at compile time, because it has no 
available source code
onlineapp.d(15):        compile time context created here

So, what is wrong here and how to chunkBy at compile time?

Reply via email to