On Sunday, 18 November 2018 at 11:00:26 UTC, aliak wrote:
On Saturday, 17 November 2018 at 21:56:23 UTC, Neia Neutuladh wrote:
On Sat, 17 Nov 2018 21:16:13 +0000, aliak wrote:
[...]

I meant something like:

    void debugln(T...)(T args) @nogc
    {
      import std.stdio;
      debug(MyProject) writeln(args);
    }

You use that function instead of writeln in your @nogc-compatible templates:

    void callFunc(alias func)()
    {
      debugln("about to call function!");
      func();
      debugln("done calling function!");
    }

Then I can write:

    @nogc:
    void foo() { printf("hello world\n"); }
    void main() { callFunc!foo(); }

Aha! I misunderstood what you meant. Yes that's actually simpler that what I was doing :D Thanks!

Alternatively, you can use the core.stc libraries, which do not depend on the GC, for debugging. https://dlang.org/phobos/core_stdc_stdio.html#.printf

Reply via email to