Problem with trying sample from doc page
Pavel via Digitalmars-d-learn
digitalmars-d-learn at puremagic.com
Wed Jul 16 08:35:38 PDT 2014
On Wednesday, 16 July 2014 at 15:12:58 UTC, Pavel wrote:
> Hi! I've been experimenting with D functions, and found this
> piece of code:
>
> //
> int abc(int delegate(long i));
> int def(int function(long s));
>
> void test() {
> int b = 3;
> abc( (long c) { return 6 + b; } ); // inferred to delegate
> def( (long c) { return c * 2; } ); // inferred to function
> }
> //
>
> On linux machine with [DMD64 D Compiler v2.065] it doesn't
> compile, giving me this error:
>
> test.d(10): Error: function test.def (int function(long s)) is
> not callable using argument types (long function(long c) pure
> nothrow @safe)
>
> Here DMD infers (long c) { return c * 2; } as long
> function(long c).
> And "def" definition doesn't match.
> Is that an error in the docs, or mayber I'm doing something
> wrong?
Link to the doc is: http://dlang.org/expression#FunctionLiteral
More information about the Digitalmars-d-learn
mailing list