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