I'm struggling with this code. Why `countUntil` won't work with aliases?
```
import std.traits : EnumMembers;
import std.algorithm : countUntil;

enum Test: string {
    One = "one",
    Two = "two",
    Three = "three"
}

struct MyStruct {
    Test test = Test.Three;
}

void main() {
    auto myStruct = MyStruct();

    // this works as expected
auto idx = countUntil!(e => e == myStruct.test)([EnumMembers!Test]);

// this triggers error: app.d(22): Error: none of the overloads of template `std.algorithm.searching.countUntil` are callable using argument types `!((e) => e == myAlias)(Test[])`
    alias myAlias = MyStruct.test;
auto idx2 = countUntil!(e => e == myAlias)([EnumMembers!Test]);
}
```

Reply via email to