https://forum.dlang.org/post/j8nnr2$bgf$1@digitalmars.com
On Tuesday, 1 November 2011 at 03:08:18 UTC, Kapps wrote:
>Thanks for the explanation guys.
I interest this too.
Theme up.
int opApply( scope int delegate( FT_Outline outline ) dg )
{
// ...more code...
return 0;
}
void main()
{
// ...initialization code...
foreach ( outl; outline )
{
writeln( outl );
}
}
I tested this code in Compiler Explorer: https://godbolt.org/z/vnqoYsazn
With default options LDC do call the example.FT_Outline.opApply.
But with -O and when function opApply() marked as pragma( inline, true ) then LDC put opApply() body inline. I see call writeln() directly from _Dmain, without call/ret | jmp.
LDC can put foreach body inline. But need to test with real-world application.
Permalink
Reply