On 9/21/14, 4:27 AM, Manu via Digitalmars-d wrote:
On 21 September 2014 16:02, deadalnix via Digitalmars-d
<digitalmars-d@puremagic.com <mailto:digitalmars-d@puremagic.com>> 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.
Is this because of problems with ref's definition, or a natural consequence of supporting ref parameters? -- Andrei