Using filter with std.container.Array.

Soulsbane via Digitalmars-d-learn digitalmars-d-learn at puremagic.com
Wed Mar 22 00:06:47 PDT 2017


Example code:
struct Foo
{
   string name;
   size_t id;
}

Array!Foo foo_;

I get errors when I try to use filter like this:

auto found = filter!((Foo data, size_t id) => data.id == 
id)(foo_[], 100);

I get this error
source/app.d(15,62): Error: template 
std.algorithm.iteration.filter!(function (Foo data, ulong id) => 
data.id == id).filter cannot deduce function from argument types 
!()(RangeT!(Array!(Foo)), int), candidates are:
/usr/include/dmd/phobos/std/algorithm/iteration.d(1089,10):       
  std.algorithm.iteration.filter!(function (Foo data, ulong id) => 
data.id == id).filter(Range)(Range range) if 
(isInputRange!(Unqual!Range))

I can't figure out what I'm doing wrong. Thanks!


More information about the Digitalmars-d-learn mailing list