Linux people doing Linux things, it seems.

  • ZILtoid1991@lemmy.world
    link
    fedilink
    arrow-up
    1
    ·
    2 months ago

    Pointers are not guaranteed to be safe. DIP1000 was supposed to solve the issue of a pointer referencing to a now expired variable (see example below), but it’s being replaced by something else instead.

    int* p;
    {
      int q = 42;
      p = &q;
    }
    writeln(*p);     //ERROR: This will cause memory leakage, due to q no longer existing
    
    • Giooschi@lemmy.world
      link
      fedilink
      English
      arrow-up
      3
      ·
      2 months ago

      Pointers are not guaranteed to be safe

      So I guess they are forbidden in @safe mode?

      but it’s being replaced by something else instead

      Do you know what is the replacement? I tried looking up DIP1000 but it only says “superceded” without mentioning by what.

      This makes me wonder how ready D is for someone that wants to extensively use @safe though.