On 17/08/2025 10:28 AM, Andy Valencia wrote:
On Saturday, 16 August 2025 at 21:58:30 UTC, Paul Backus wrote:
Creating a pointer that points out-of-bounds does not, by itself, result in undefined behavior.

However, such a pointer would not be considered a [safe value][1], because dereferencing it *would* result in undefined behavior.

I'm just pondering whether the intention was to accomodate this looping pattern:

```d
int sum_values(int* p, uint nval) {
   int result = 0;
   foreach(_; 0 .. nval) {
     result += *p++;
   }
   return result;
}
```

A C idiom (I've so very much embraced not using pointers in my D world) which technically leaves "p" pointing beyond the memory range.  Perhaps this is the special case being addressed?

Andy

All pointer arithmetic is not valid in @safe code.

Arbitrary pointers values become @system, and are not accessible in @safe code. Thanks to @system variables DIP.

It has been addressed.

This isn't just an us thing, other native languages are now going in the direction of disallowing arbitrary pointers. They may only point to valid memory.

If the spec says otherwise, that needs fixing.

              • ... Monkyyy via Digitalmars-d-learn
              • ... Brother Bill via Digitalmars-d-learn
              • ... Monkyyy via Digitalmars-d-learn
              • ... Monkyyy via Digitalmars-d-learn
              • ... Ali Çehreli via Digitalmars-d-learn
              • ... Richard (Rikki) Andrew Cattermole via Digitalmars-d-learn
              • ... Monkyyy via Digitalmars-d-learn
  • Re: Pointers - I... Monkyyy via Digitalmars-d-learn
  • Re: Pointers - I... Paul Backus via Digitalmars-d-learn
    • Re: Pointer... Andy Valencia via Digitalmars-d-learn
      • Re: Poi... Richard (Rikki) Andrew Cattermole via Digitalmars-d-learn
      • Re: Poi... monkyyy via Digitalmars-d-learn
      • Re: Poi... H. S. Teoh via Digitalmars-d-learn
      • Re: Poi... Paul Backus via Digitalmars-d-learn
        • Re:... monkyyy via Digitalmars-d-learn
        • Re:... Ali Çehreli via Digitalmars-d-learn

Reply via email to