<div dir="ltr">Currently conditional compilation would stop IFTI.<div><br></div><div><div>template foo(T)</div><div>{</div><div>    static if (is(T == int))</div><div>        void foo(T) {}</div><div>}</div><div>void main()</div>
<div>{</div><div>    foo(1);   // shouldn't work</div><div>}</div></div><div><br></div><div class="gmail_extra">Same as above, DIP40 should prevent following case.</div><div class="gmail_extra"><br></div><div class="gmail_extra">
<div class="gmail_extra">template foo(T)</div><div class="gmail_extra">{</div><div class="gmail_extra">    struct foo</div><div class="gmail_extra">    {</div><div class="gmail_extra">        static if (is(T == int))</div>
<div class="gmail_extra">            this(T) {}</div><div class="gmail_extra">    }</div><div class="gmail_extra">}</div><div class="gmail_extra">void main()</div><div class="gmail_extra">{</div><div class="gmail_extra">    foo(1); // also should not work</div>
<div class="gmail_extra">}</div><div><br></div>Kenji Hara</div><div class="gmail_extra"><br><div class="gmail_quote">2013/5/14 Timothee Cour <span dir="ltr"><<a href="mailto:thelastmammoth@gmail.com" target="_blank">thelastmammoth@gmail.com</a>></span><br>
<blockquote class="gmail_quote" style="margin-top:0px;margin-right:0px;margin-bottom:0px;margin-left:0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">Thanks for the feedback, I've clarified the deduction mechanism and<br>

show how it falls back to normal function template deduction.<br>
</blockquote></div><br></div></div>