alias vs enum for lambdas?
monkyyy
crazymonkyyy at gmail.com
Fri May 2 16:53:05 UTC 2025
On Friday, 2 May 2025 at 13:55:46 UTC, Orion wrote:
> Yes. But at the same time, defining a function via alias is a
> 1st class function, unlike a standard function definition!
>
> alias af = (int x) => x;
> auto sf(int x) => x;
>
> auto v = af;
> auto p = &sf;
>
> This means that the definitions are not equivalent.
>
> In essence, an alias function behaves like a lambda function
> assigned to a variable, but at the same time there is the
> possibility of adhoc overloading, which is only possible for a
> regular/standard function.
This is still a continuation of aliases are for types, enums for
literals
```d
alias F=(i)=>i+1;
import std;
void main(){
F(3).writeln;
F(3.14).writeln;
}
```
F cant be enum here, because the type inference comes latter
taking a pointer needs to be literal
More information about the Digitalmars-d-learn
mailing list