dsss with dmd2?
I got the dmd2 compiler in the PATH, thus dsss correctly uses phobos imports and stuff from the dmd2 directory. BUT what it does not is setting the D_Version2 version??? Why does that happen, isn't that set by the compiler?
Re: dsss with dmd2?
Trass3r schrieb: I got the dmd2 compiler in the PATH, thus dsss correctly uses phobos imports and stuff from the dmd2 directory. BUT what it does not is setting the D_Version2 version??? Why does that happen, isn't that set by the compiler? It is set by the compiler. But dsss has an own D compiler included to retrieve the imports and pragmas. If you see error messages, they might come from the dsss internal DMD frontend. You can set the versions in the compiler profile, see dsss/etc/rebuild/
Re: dsss with dmd2?
Frank Benoit schrieb: It is set by the compiler. But dsss has an own D compiler included to retrieve the imports and pragmas. If you see error messages, they might come from the dsss internal DMD frontend. You can set the versions in the compiler profile, see dsss/etc/rebuild/ Yeah, but I thought rebuild just parses imports and stuff and then calls dmd to compile all found files, thus D_Version2 should be set by dmd, shouldn't it?
Re: dsss with dmd2?
Frank Benoit schrieb: rebuild uses the dmd frontend, so it might also generate errors. And that errors might look exactly the same as those from dmd. And if the rebuild profile is not configured to have D_Version2 set, the frontend might lead you on the wrong track. Ah, now I get the point :) Thanks for your explanation.
dump object
Hi All, previously I saw an article about how to dump an object with all properties. -code--- void log(T)(T obj) { static if (is(T == struct) || is(T == class)){ writef({); foreach(i,_;obj.tupleof) { writefln(%s : %s,, obj.tupleof[i].stringof[4..$], obj.tupleof[i]); } writefln(}); } else { writefln(obj); } } -code--- But this function does not work with private attributes of an object. How to print all public properties of an object? It would be very useful for debug propose. Best regards --Qian
Re: dump object
Qian Xu wrote: Hi All, previously I saw an article about how to dump an object with all properties. -code--- void log(T)(T obj) { static if (is(T == struct) || is(T == class)){ writef({); foreach(i,_;obj.tupleof) { writefln(%s : %s,, obj.tupleof[i].stringof[4..$], obj.tupleof[i]); } writefln(}); } else { writefln(obj); } } -code--- But this function does not work with private attributes of an object. How to print all public properties of an object? It would be very useful for debug propose. Use a newer compiler version. dmd 1.041 should work. I'm successfully using this feature for serialization. Best regards --Qian