import std.traits;
import std.range;
struct Test
{
bool empty() { return true; }
int popFront() { return 10; }
int front(int) { return 10; }
}
auto test(Range)(Range r) {
static assert(isInputRange!Range, "type '" ~ Range.stringof ~ "' must be an InputRange");
}
void main() {
Test t;
test(t);
}
aW1wb3J0IHN0ZC50cmFpdHM7CmltcG9ydCBzdGQucmFuZ2U7CgpzdHJ1Y3QgVGVzdAp7Cglib29sIGVtcHR5KCkgeyByZXR1cm4gdHJ1ZTsgfQoJaW50IHBvcEZyb250KCkgeyByZXR1cm4gMTA7IH0gCglpbnQgZnJvbnQoaW50KSB7IHJldHVybiAxMDsgfQp9CgphdXRvIHRlc3QoUmFuZ2UpKFJhbmdlIHIpIHsKCXN0YXRpYyBhc3NlcnQoaXNJbnB1dFJhbmdlIVJhbmdlLCAidHlwZSAnIiB+IFJhbmdlLnN0cmluZ29mIH4gIicgbXVzdCBiZSBhbiBJbnB1dFJhbmdlIik7Cn0KCnZvaWQgbWFpbigpIHsKCVRlc3QgdDsKCXRlc3QodCk7Cn0=