Limitation with current regex API

Andrei Alexandrescu SeeWebsiteForEmail at erdani.org
Tue Jan 17 07:23:14 PST 2012


On 1/17/12 6:59 AM, Don Clugston wrote:
> On 17/01/12 10:40, Jonathan M Davis wrote:
>> On Tuesday, January 17, 2012 05:04:39 Timon Gehr wrote:
>>> I don't know exactly, since @safe is neither fully specified nor
>>> implemented. In my understanding, in @safe code, operations that may
>>> lead to memory corruption are forbidden. Pointer - pointer cannot, other
>>> kinds of pointer arithmetic may.
>>
>> Pointer arithmetic is definitely forbidden in @safe, but I'm not sure
>> that that
>> forbids pointer - pointer, since it's not dangerous. It's changing a
>> pointer
>> via arithmetic which is dangerous.
>>
>> - Jonathan M Davis
>
> My guess is that safe D is supposed to enforce C pointer semantics.
> At least, code which is both @safe and pure must do so.
> The semantics are currently enforced in CTFE.
>
> pointer - pointer is undefined behaviour in C, if the pointers come from
> different arrays. It's OK if they are from the same array, which is true
> in this case.
>

Yah, that C rule is to allow segmented memory architectures work 
properly. One possibility for D is to require a flat memory model, in 
which the difference between any two pointers can be taken.

Andrei


More information about the Digitalmars-d mailing list