<div dir="ltr"><div class="gmail_extra"><div class="gmail_quote">On 21 September 2014 16:02, deadalnix via Digitalmars-d <span dir="ltr"><<a href="mailto:digitalmars-d@puremagic.com" target="_blank">digitalmars-d@puremagic.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div class="HOEnZb"><div class="h5">On Sunday, 21 September 2014 at 03:48:36 UTC, Walter Bright wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
On 9/12/2014 6:48 PM, Manu via Digitalmars-d wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
What happens when a scope() thing finds it's way into generic code? If the type<br>
doesn't carry that information, then you end up in a situation like ref. Have<br>
you ever had to wrestle with ref in generic code?<br>
ref is the biggest disaster zone in D, and I think all it's problems will<br>
translate straight to scope if you do this.<br>
</blockquote>
<br>
I'm unaware of this disaster zone.<br>
</blockquote>
<br></div></div>
Well it is very real. I had to duplicate bunch of code in my visitor generator recently because of it. Getting generic code ref correct is very tedious, error prone, and guarantees code duplication and/or various static ifs all over the place.<br>
</blockquote></div><br></div><div class="gmail_extra">It's also extremely hard to unittest; explodes the number of static if paths exponentially. I'm constantly finding bugs appear a year after writing some code because I missed some static branch paths when originally authoring.</div></div>