Function Parameters without Names?

Salih Dincer salihdb at
Sun Feb 20 06:09:34 UTC 2022

On Saturday, 19 February 2022 at 23:37:01 UTC, Vijay Nayar wrote:
> What is the main motivator to allow parameters with no names? 
> Do they get an automatic implied name like `_` or something?

The problem was about 
[here](, it should 
not be type inference:

Do you think so? But it works when you open inactive codes and 
convert this(int) to this(T)! The program below throws an error 
about ```_param_0``` when compiling because the inferred type is 
not int.

import std.conv;

class Foo
   int i;

   //   v=== type of inferred
   this(int)//(T i)
     this.i = i;//.to!int;

   string test()

void main()
   long bar = 42;
   auto foo = new Foo(bar);
   assert(foo.test == "42"); /* Error:

   constructor `source.Foo.this(int _param_0)` is not callable 
using argument types `(long)`
   cannot pass argument `bar` of type `long` to parameter `int 

The following doesn't work in a function outside the class:
TYPE foo(TYPE) { return 42; }
The compiler gives the following error:
```undefined identifier TYPE```

SDB at 79

More information about the Digitalmars-d-learn mailing list