Recursively defined matcher function

sighoya sighoya at gmail.com
Sun Jan 3 18:49:40 UTC 2021


On Sunday, 3 January 2021 at 18:26:44 UTC, Per Nordlöw wrote:
> I've tried
>
>     alias Matcher = Match function(Matcher[] matchers...);
>
> but it errors as
>
>     recursive alias declaration

The closest thing can I think of is:
```
alias matcherSignature(T:matcherSignature!T) = T (T[] 
matchers...);
```

I think we would require proper singleton types to model this as:

```
matcherSignature(matcherSignature.type[] matcherSignatures ...)
```


More information about the Digitalmars-d-learn mailing list