On Thursday, 3 November 2016 at 22:29:34 UTC, Jerry wrote:
So I was thinking of a way of extending if statements that have declarations. The following being as example of the current use of if statements with declarations:if(int* weDontPollute = someFunc()) { // use weDontPollute }That's great and all, but it only works by checking if the variable evaluates to true or false. Which is fine for a pointer but otherwise useless for anything else, like integers where zero is usually valid input (index for array).
This is already possible in library code. See here: https://github.com/AndrejMitrovic/minilib/blob/510460ff1381f765a66aa3b8f8f6d7e95b4597b9/src/minilib/core/types.d#L88-L137
One could come up with a helper function that encodes the condition which is moved into the opCast method. This should be trivial to implement.
