static this not run?
user1234
user1234 at 12.lo
Sat Sep 30 08:49:14 UTC 2017
On Saturday, 30 September 2017 at 06:15:41 UTC, Nicholas Wilson
wrote:
> No "initialising onError", the static this is not even being
> run!
> I'm using LDC master.
>
> See also https://github.com/libmir/dcompute/issues/32
LDC 1.4, DMD 2.076, DMD ~master and finally GDC all give the
expected result here
"initialising onErrorinitialising onError: funcptr = 0x<some
address>"
each time using:
---
enum Status {success,}
class StatusException : Exception
{
this(Status s) {this.s = s;super("");}
Status s;
}
void delegate(Status) onError;
static this()
{
import core.stdc.stdio;
printf("initialising onError");
onError = (Status s) { throw new StatusException(s);};
printf("initialising onError: funcptr = 0x%x",
onError.funcptr);
}
void main()
{
import std.stdio;
writeln(onError.funcptr);
}
---
More information about the Digitalmars-d-learn
mailing list