CTFE and Static If Question
    Paul Backus 
    snarwin at gmail.com
       
    Thu May  7 17:59:30 UTC 2020
    
    
  
On Thursday, 7 May 2020 at 15:00:18 UTC, jmh530 wrote:
> Does foo!y0(rt) generate the same code as foo(rt, y0)?
>
> How is the code generated by foo(rt, x0) different from 
> foo(rt,y0)?
You can look at the generated code using the Compiler Explorer at 
d.godbolt.org. Here's a link to your example, compiled with ldc, 
with optimizations enabled:
https://d.godbolt.org/z/x5K7P6
As you can see, the non-static-if version has a runtime 
comparison and a conditional jump, and the static-if version does 
not. However, it doesn't make a difference in the end, because 
the calls have been optimized out, leaving an empty main function.
    
    
More information about the Digitalmars-d-learn
mailing list