On Mon, 12 Sep 2011 10:10:35 -0400, Simen Kjaeraas <simen.kja...@gmail.com> wrote:

On Mon, 12 Sep 2011 00:11:11 +0200, Timon Gehr <timon.g...@gmx.ch> wrote:

I think the fact that "in" for AAs returns a pointer is a mistake and ugly in the first place and any generic code that relies on any container to return a raw internal pointer is flawed by itself imho.

If D had a Nullable struct, that would likely be a much better return
type for 'in'. The thing is, we do have a nullable!T type: T*.

This is simply a case of having a wrench and needing a hammer.

No, the advantage of using a pointer is, you can change the value without incurring another lookup. A nullable struct does not have that advantage.

I think the correct return type for that should be a cursor (i.e. a single-element range which can be used to refer to that element at a later time). This allows even more functionality, such as removing the element, or referring to both the key and value.

-Steve

Reply via email to