What's the issue(s) with scope vars?
Dicebot via Digitalmars-d
digitalmars-d at puremagic.com
Thu May 22 12:39:58 PDT 2014
On Thursday, 22 May 2014 at 19:36:06 UTC, Nick Sabalausky wrote:
> On 5/22/2014 3:31 PM, Dicebot wrote:
>> On Thursday, 22 May 2014 at 19:08:53 UTC, Nick Sabalausky
>> wrote:
>>> I know there's been a lot of chatter about scope vars needing
>>> work,
>>> what exactly is the deal with that? Isn't there a lib version
>>> of
>>> scoped? Are there current problems with that?
>>
>> You speak about scope storage class (aka scope classes as in
>> D1). It has
>> been deprecated and replaced by Phobos scoped.
>>
>> Recent chatter is about scope type qualifier which is supposed
>> to
>> prohibit escaping references to variable making it only
>> available in
>> current and nested scopes. There are many possible
>> applications for that
>> - safe casting away for shared, safe rvalue references,
>> efficient
>> reference counting and so on. It is currently present in the
>> language
>> but has no actual implementation, being effectively a NO-OP.
>
> Is phobos scoped at least good enough for real-world use in the
> meantime?
>
> Also, is this unimplemented scope type qualifier you speak of
> going to basically replace phobos scoped?
First question - don't now for sure. It worked for me few times I
have used it but there several bug reports in bugzilla with some
nastiness.
Second question - that is something yet to investigate. Natural
relation between those is that value captured by `scoped` should
be qualified as `scope` to be reliably memory safe. Does that
also mean that you can skip `scoped` altogether and release all
scope variables at the end of scope automatically? Something yet
to investigate.
More information about the Digitalmars-d
mailing list