On 21 September 2014 16:02, deadalnix via Digitalmars-d < [email protected]> wrote:
> On Sunday, 21 September 2014 at 03:48:36 UTC, Walter Bright wrote: > >> On 9/12/2014 6:48 PM, Manu via Digitalmars-d wrote: >> >>> What happens when a scope() thing finds it's way into generic code? If >>> the type >>> doesn't carry that information, then you end up in a situation like ref. >>> Have >>> you ever had to wrestle with ref in generic code? >>> ref is the biggest disaster zone in D, and I think all it's problems will >>> translate straight to scope if you do this. >>> >> >> I'm unaware of this disaster zone. >> > > 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. > 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.
