DIP23 draft: Fixing properties redux

Andrei Alexandrescu SeeWebsiteForEmail at erdani.org
Tue Feb 5 12:15:40 PST 2013


On 2/5/13 2:11 PM, H. S. Teoh wrote:
> On Tue, Feb 05, 2013 at 02:05:24PM -0500, Steven Schveighoffer wrote:
>> On Tue, 05 Feb 2013 13:33:35 -0500, Andrei Alexandrescu
>> <SeeWebsiteForEmail at erdani.org>  wrote:
>>
>>> Walter and I reviewed the discussion and had a long talk. We are
>>> very seriously considering banning the use of&  against a ref
>>> result from a function (and actually ref parameters and even
>>> struct members in @safe code). One would still be able to take the
>>> address of a field in a class because that's assumed to live on
>>> the GC heap.
>>
>> What about structs that live on the heap?  e.g. a struct element of
>> an array, or a struct member of a class instance.
>>
>> I think the point about @safe code is moot, aren't pointers
>> disallowed in safe code anyway?
> [...]
>
> AFAIK, pointers are allowed in @safe code as long as no type casts or
> pointer arithmetic are performed.

Yah, apparently that's not sufficient. We must make sure pointers don't 
escape.

Andrei



More information about the Digitalmars-d mailing list