2011-01-19 19:23, Simon wrote:
Traditionally:

struct dummy;

alias dummy* HANDLE;

void doSomething(HANDLE h) {
}

Just don't provide a body for dummy to keep it abstract.
So, if I understood correctly I can't transparently swap pointer with integer of the same size? Fair enough, but:
#iface.d
struct _handle;
alias _handle* HANDLE;

#a.d
struct _handle {
    uintptr_t val;
}
class A : iface {
    void doSomething(HANDLE h) {
        assert(node.val < _t.length);    //HERE
    }
}

states:
a.d (HERE): Error: struct _handle is forward referenced

Which means that he doesn't really see _handle defined, even if it's defined few lines above. Am i doing something wrong?

Thanks,
Mariusz Gliwiński

Reply via email to