mirror of
https://github.com/dlang/dmd.git
synced 2025-04-26 05:00:16 +03:00
39 lines
1 KiB
D
39 lines
1 KiB
D
/*
|
|
TEST_OUTPUT:
|
|
---
|
|
fail_compilation/ice18753.d(21): Error: variable `ice18753.isInputRange!(Group).isInputRange` - type `void` is inferred from initializer `ReturnType(func...)`, and variables cannot be of type `void`
|
|
fail_compilation/ice18753.d(23): Error: template instance `ice18753.isInputRange!(Group)` error instantiating
|
|
fail_compilation/ice18753.d(18): instantiated from here: `isForwardRange!(Group)`
|
|
fail_compilation/ice18753.d(18): while evaluating: `static assert(isForwardRange!(Group))`
|
|
---
|
|
*/
|
|
|
|
// https://issues.dlang.org/show_bug.cgi?id=18753
|
|
|
|
struct ChunkByImpl
|
|
{
|
|
struct Group
|
|
{ }
|
|
|
|
static assert(isForwardRange!Group);
|
|
}
|
|
|
|
enum isInputRange(R) = ReturnType;
|
|
|
|
enum isForwardRange(R) = isInputRange!R is ReturnType!(() => r);
|
|
|
|
template ReturnType(func...)
|
|
{
|
|
static if (is(FunctionTypeOf!func R == return))
|
|
ReturnType R;
|
|
}
|
|
|
|
template FunctionTypeOf(func...)
|
|
{
|
|
static if (is(typeof(func[0]) T))
|
|
static if (is(T Fptr ) )
|
|
alias FunctionTypeOf = Fptr;
|
|
}
|
|
|
|
template Select()
|
|
{ }
|