If I attempt to use minNumArgs, as in:
import std.bind;
import std.stdio;
void foo(int a, int b, int c = 0) {}
void main()
{
int n = minNumArgs!(foo);
writefln("min args %d", n);
}
I get: std/bind.d(307): Error: void initializer has no value
Trying to use other facilities from bind, when linking I get:
undefined reference to `_D3std4bind12__ModuleInfoZ'
Comment #1 by ggcoding — 2010-02-18T15:37:48Z
(In reply to comment #0)
> If I attempt to use minNumArgs, as in:
>
> import std.bind;
> import std.stdio;
>
> void foo(int a, int b, int c = 0) {}
>
> void main()
> {
> int n = minNumArgs!(foo);
> writefln("min args %d", n);
> }
>
> I get: std/bind.d(307): Error: void initializer has no value
>
> Trying to use other facilities from bind, when linking I get:
>
> undefined reference to `_D3std4bind12__ModuleInfoZ'
I noticed that bind.d is missing in /src/phobos/linux.mak at STD_MODULES = [...]
So you can add it and recompile libphobos with make -f linux.mak
It's resolved the undefined reference to `_D3std4bind12__ModuleInfoZ'