On Tue, 05 Feb 2013 16:43:39 -0500, Jonathan M Davis <[email protected]>
wrote:
On Tuesday, February 05, 2013 14:05:24 Steven Schveighoffer wrote:
I think the point about @safe code is moot, aren't pointers disallowed
in
safe code anyway?
Goodness no. It's pointer arithmetic which is disallowed. Pointers
themselves
are perfectly safe as long as you just pass them around or dereference
them
(which would include calling functions on them). For instance, the
result of
in on an AA is a pointer to the object, and that's @safe.
Well, it would seem setting all kinds of extra rules on ref (in addition
to the restrictions we have now), when pointers are more useful even in
@safe code, will simply result in people using pointers more than ref.
I'm not sure that's the right message, but I'm afraid that will be what it
is.
For example, I have to use pointers for my linked list implementation in
dcollections, because ref is forbidden to be used as a class or struct
member (my nodes are structs because classes are too heavy). Also, ref is
not rebindable, whereas a pointer is.
-Steve