On 9/17/15 4:24 PM, Stefan Koch wrote:
On Thursday, 17 September 2015 at 19:47:05 UTC, Timon Gehr wrote:

I don't get this point. You don't need any annotations to write
ctfe-able code.

ctfe only works with pure functions.

This is not a requirement of ctfe, although the set of functions that can be pure I think encloses the set of ctfe-able functions (there may be some exceptions, I'm not sure). The requirements are listed here: http://dlang.org/function.html#interpretation

But you don't actually have to mark them pure, and a virtual pure function cannot be CTFE anyways, so this doesn't make a difference.

> I would argue it is very counter-intuitive to mutate any state when comparing objects.

Then surely you meant const? pure functions can mutate state. I agree with your statement, though.

I think Object.opEquals and Object.opCmp are going to eventually be removed, so you can define them however you want.

-Steve

Reply via email to