On Monday, 29 May 2017 at 08:40:27 UTC, ketmar wrote:
yet i must say that using pointers in a code where they should be references makes me... nervous. it just doesn't feel right. but meh, i'll trade that (and safety, 'cause `&` is unsafe) for "call site ref indicator".

So one win with dip1000 is it allows it:

---
@safe void foo(scope int* a) {}
@safe void bar() {
        int a;
        foo(&a);
}
---

$ dmd ppp -c
ppp.d(4): Error: cannot take address of local a in @safe function bar


But with dip 1000:

$ dmd ppp -dip1000 -c
# success!


Of course, dip1000 breaks the living crap out of just about everything else (though all the errors are in phobos....) but it is semi-sane in this case.

Reply via email to