<html><body><div style="color:#000; background-color:#fff; font-family:HelveticaNeue, Helvetica Neue, Helvetica, Arial, Lucida Grande, sans-serif;font-size:16px"><div id="yui_3_16_0_1_1426871130915_1482266" dir="ltr"><span id="yui_3_16_0_1_1426871130915_1482265">> The difference is, the current diagnostics allow the user to figure out what<br style="" class="">> happened. This change does not -- there's no way to find out which 'f' caused<br style="" class="">> the problem, and how we got from 'f' to 'g'.<br style="" class=""><br style="" class="">Yes, the user can still figure out how you got from `f` to `g`. The user can<br style="" class="">either add an extra overload for `g` or comment out `g`(and continue so until<br style="" class="">the user gets to `f`). So instead of working forwards from `f` to `g`, the<br style="" class="">user just works backwards from `g` to `f`. However, its less likely a user<br style="" class="">would need to do that since 90% of the time users want to get to `g` and not<br style="" class="">to `f`.<br style="" class=""><br style="" class="">Paul<br style="" class=""></span></div>  <div id="yui_3_16_0_1_1426871130915_1484829" style="" class="" dir="ltr"><span style="" class=""><br style="" class=""></span></div><br><div class="qtdSeparateBR"><br><br></div><div style="display: block;" class="yahoo_quoted"> <div style="font-family: HelveticaNeue, Helvetica Neue, Helvetica, Arial, Lucida Grande, sans-serif; font-size: 16px;"> <div style="font-family: HelveticaNeue, Helvetica Neue, Helvetica, Arial, Lucida Grande, sans-serif; font-size: 16px;"> <div dir="ltr"> <font face="Arial" size="2"> On Monday, April 6, 2015 4:24 PM, Richard Smith <richard@metafoo.co.uk> wrote:<br> </font> </div> <blockquote style="border-left: 2px solid rgb(16, 16, 255); margin-left: 5px; margin-top: 5px; padding-left: 5px;">  <br><br> <div class="y_msg_container"><div id="yiv3650930203"><div dir="ltr"><div class="yiv3650930203gmail_extra"><div class="yiv3650930203gmail_quote">On Mon, Apr 6, 2015 at 2:08 PM, Paul Fultz II <span dir="ltr"><<a rel="nofollow" ymailto="mailto:pfultz2@yahoo.com" target="_blank" href="mailto:pfultz2@yahoo.com">pfultz2@yahoo.com</a>></span> wrote:<br><blockquote class="yiv3650930203gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">> gives the user no idea of how we got from a call to f into a call to g.<br><br>
For the default case, its better to show the first and last in the trace, as most users don't care about the intermediate steps.<br>
<span class="yiv3650930203"><br>
> If we produced a stack of 'in instantiation of' notes, this would be fine<br>
<br>
</span>Yes, the full back trace can be added in the future(perhaps as a compiler flag). This is the first step towards that direction. There needs to be some refactoring to `DeductionFailureInfo` so it stores the entire diagnostics(rather than a single diagnostic) to make a full back trace possible.</blockquote><div><br></div><div>The difference is, the current diagnostics allow the user to figure out what happened. This change does not -- there's no way to find out which 'f' caused the problem, and how we got from 'f' to 'g'. Hence this patch is not acceptable as-is -- not even as a stepping stone to something better.</div><div><br></div><blockquote class="yiv3650930203gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;"><span class="yiv3650930203">
> note that's exactly what my patch in comment#1/comment#2 of that bug does<br>
<br>
</span>That seemed to be more of a hack then something to be used in production.</blockquote><div><br></div><div>Yes, absolutely, that change is not production-ready.</div></div></div></div></div><br><br></div> </blockquote>  </div> </div>   </div></div></body></html>