RFC: scope and borrowing

Andrei Alexandrescu via Digitalmars-d digitalmars-d at puremagic.com
Sun Sep 21 08:10:25 PDT 2014


On 9/21/14, 4:27 AM, Manu via Digitalmars-d wrote:
> On 21 September 2014 16:02, deadalnix via Digitalmars-d
> <digitalmars-d at puremagic.com <mailto:digitalmars-d at 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


More information about the Digitalmars-d mailing list