On 12/4/2014 3:54 PM, H. S. Teoh via Digitalmars-d wrote:
The compiler assumes func(s) returns a ref to s, and so it won't allow
func(s) to be returned from foo().

Ah, I see. So you're saying that under this DIP, `return func(...);`
from a ref function will be prohibited unless the arguments to func()
were all either scope or non-reference?

Right.

That sounds good, though it *is* pretty invasive, as any existing ref
functions that do this will need to be revised, which potentially
spreads 'scope' to many other places, depending on how deeply the chain
of tail recursion / tail func calls go.

I know:

1. that's why the extensive support for scope inference
2. I couldn't see any other way

Reply via email to