<div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;"><div class="im">Actually, the constructor will still be used for implicit conversions</div>
from arrays<br></blockquote><div><br></div><div>Oh, right, sorry to jump the gun.</div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">The problem seems to be specific to array reference parameter --> ArrayRef<br>

conversion as in this function.<br></blockquote><div><br></div><div>In all other cases it's probably the case that it's used untemplated (the T is not being deduced from arguments, but explicitly specified in the function signature) so the compiler's not trying to guess.<br>
<br>I'd probably pick the mapping straight through to the matching ctor, but I'm sure it doesn't matter either way (just passing one integer through an extra function call to a really simple inline function anyway). I might play around with GCC's behavior there at some point to see which compiler(s) are right, etc.<br>
<br>Thanks for the explanation,<br>- David</div><div><br></div><div><br></div></div><br>