On 09/12/2011 04:17 PM, Steven Schveighoffer wrote:
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.

A decent compiler has that advantage without requiring programmers to abuse the 'in' operator.


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.


The correct return type for 'in' is bool. But the functionality you propose could be quite useful indeed.



Reply via email to