On Monday, 29 April 2013 at 20:51:50 UTC, Walter Bright wrote:
On 4/29/2013 1:03 PM, monarch_dodra wrote:
On Monday, 29 April 2013 at 18:34:46 UTC, Walter Bright wrote:
On 4/29/2013 10:19 AM, monarch_dodra wrote:
I'm getting strange behavior trying to cast to pure. This is
my
test program:
You're casting a C function to a D function. This will cause
crashes.
OK, so say I have a documented pure C function, how do I call
it from a pure
scope? You say, take the address and cast it, but not if it's
C...
extern (C) {
int foo(int);
}
extern (C) {
pure int function(int) fp_pure_t;
}
...
cast(fp_pure_t)(&foo)
Thanks. That (kinda) worked. I just had to add an alias, because
the compiler was complaining about: "Error: fp_pure_t is used as
a type"
This works though:
//====
extern (C) {
int foo(int);
}
extern (C) {
alias pure int function(int) fp_pure_t;
}
...
cast(fp_pure_t)(&foo)
//====
That works.