On 26/04/2012 08:26, Timon Gehr wrote:
<snip>
Another thing: It might not be unused in every static code path.

One way to deal with this would be to do the checking before conditional compilation. That said, I've a feeling that mixin expansion might get in the way of this.

Even more important:

template isInputRange(R)
{
enum bool isInputRange = is(typeof(
{
R r; // can define a range object
if (r.empty) {} // can test for empty
r.popFront(); // can invoke popFront()
auto h = r.front; // can declare an unused variable
<snip>

cast(void) r.front;

Stewart.

Reply via email to