Thread overview
View Expanded Templates?
Dec 18, 2015
Taylor Hillegeist
Dec 18, 2015
Adam D. Ruppe
Dec 18, 2015
Taylor Hillegeist
Dec 18, 2015
Ali Çehreli
Dec 18, 2015
Stefan Koch
December 18, 2015
Is it possible to view the expanded form of templates or perhaps view the post-ctfe pre-compiled d code? I couldn't find any information on this topic but I think it would be useful. sometimes I use templates/mixins to write code for me but, sometimes i would rather have the expanded functions in the final versions.
December 18, 2015
On Friday, 18 December 2015 at 18:25:03 UTC, Taylor Hillegeist wrote:
> Is it possible to view the expanded form of templates or perhaps view the post-ctfe pre-compiled d code? I couldn't find any information on this topic but I think it would be useful. sometimes I use templates/mixins to write code for me but, sometimes i would rather have the expanded functions in the final versions.

Check out my tip of the week from last month:

http://arsdnet.net/this-week-in-d/nov-22.html


If you just write out the string yourself instead of mixing it in, you can get a lot of progress on it.
December 18, 2015
On Friday, 18 December 2015 at 18:35:40 UTC, Adam D. Ruppe wrote:
> On Friday, 18 December 2015 at 18:25:03 UTC, Taylor Hillegeist wrote:
>> Is it possible to view the expanded form of templates or perhaps view the post-ctfe pre-compiled d code? I couldn't find any information on this topic but I think it would be useful. sometimes I use templates/mixins to write code for me but, sometimes i would rather have the expanded functions in the final versions.
>
> Check out my tip of the week from last month:
>
> http://arsdnet.net/this-week-in-d/nov-22.html
>
>
> If you just write out the string yourself instead of mixing it in, you can get a lot of progress on it.

 pragma(msg, code_generation_function())


simple + awesome.

:)
December 18, 2015
On 12/18/2015 10:54 AM, Taylor Hillegeist wrote:

>   pragma(msg, code_generation_function())
>
>
> simple + awesome.

Yes, and perhaps unittest blocks:

unittest
{
    assert(makeCode("foo") == "int foo = 42;");
}

Unfortunately, neither works with template mixins or regular templates.

Ali

December 18, 2015
On Friday, 18 December 2015 at 18:25:03 UTC, Taylor Hillegeist wrote:
> Is it possible to view the expanded form of templates or perhaps view the post-ctfe pre-compiled d code? I couldn't find any information on this topic but I think it would be useful. sometimes I use templates/mixins to write code for me but, sometimes i would rather have the expanded functions in the final versions.

I am builing a tool based on SDC that will allow just that :)