On Friday, 16 May 2014 at 18:57:34 UTC, Walter Bright wrote:
On 5/16/2014 10:33 AM, Dicebot wrote:
On Friday, 16 May 2014 at 17:22:21 UTC, Walter Bright wrote:
On 5/16/2014 9:43 AM, Dicebot wrote:
Transitive
borrowing solves certain class of issues that currently rely on convention, enabling whole new type of verified safe code (both memory safe and concurrency
safe). Head-only? Doesn't look so.

I'm concerned that transitive borrowing will *preclude* a number of useful cases.

Which is why `ref` itself can't be used for that and usage of `scope` as
qualifier is necessary to enable transitive behavior :)

True, but there comes a point where something gets complicated enough that nobody understands it and the implementation gets full of bugs.

Then we are back to square one "`scope` is needed but difficult to implement so lets not touch it" :) Which is understandable but does not warrant adding mostly useless concept simply because it is easier.

Also I believe `scope` is one of concepts that are hard to define but incredibly easy to grasp intuitively.

Reply via email to