On Fri, 07 May 2010 08:02:00 -0400, Graham Fawcett <[email protected]> wrote:

On Fri, 07 May 2010 07:56:23 -0400, Steven Schveighoffer wrote:

I have code like this in dcollections:


     /**
      * Removes the element that has the given key.  Sets wasRemoved to
true if the
      * element was present and was removed. *
      * Runs on average in O(1) time.
      */
     HashMap remove(K key, out bool wasRemoved) {
         cursor it = elemAt(key);
         if(wasRemoved = !it.empty)
         {
             remove(it);
         }
         return this;
     }


However, this does not compile with the following message:

dcollections/HashMap.d(561): Error: '=' does not give a boolean result

line 561 is the if statement.

Since when did bool = bool not give a bool result?

Don't you mean bool == bool, not bool = bool?

No. I meant bool = bool. I'm not comparing two bools, I'm assigning to a bool, and then using if on the result. At best, this is a bogus error message.

-Steve

Reply via email to