On Friday, 13 February 2026 at 14:46:14 UTC, user1234 wrote:
On Friday, 13 February 2026 at 14:19:20 UTC, monkyyy wrote:
Behavior looks correct to me, auto flattening and specialization are both written down in the spec somewhere.

[...]

Yes but both  `f` match !

Unliquely situation (more interested with the semantics here) but what could happen is: in a library such an overload set exists and leads to bugs, because the compiler does not inform you.

```d
void f(T...)(){}
void f(T:int)(){ static assert(0);}
alias foo=f!int;
```

Template specialization rules can apply. I think its only a bug if the order of the declarations effect behavior(which they do often)

Reply via email to