template isInputRange(R){enum bool isInputRange = is(typeof((inout int = 0){R r = R.init; // can d efine a range objectif (r.empty) {} // can test for emptyr.popFront(); // can invoke popFront()auto h = r.front; // can get the front of the range}));} What does (inout int = 0) mean/affect here? I created the same template for myself just without the (inout int = 0) and it worked (at least with a dummy struct).. - Tim