Setting struct as default parameter of a function using struct literal?
    Salih Dincer 
    salihdb at hotmail.com
       
    Mon Sep 11 22:05:11 UTC 2023
    
    
  
On Monday, 11 September 2023 at 20:17:09 UTC, H. S. Teoh wrote:
>
> Someone should seriously come up with a way of eliminating the 
> repeated type name in default parameters.
Why not allow it to be flexible enough by using a template 
parameter?
```d
enum Options : bool
{
   silenceErrorsOff, silenceErrorsOn
}
struct Opts
{
   bool silenceErrors;
}
void someFunction(T)(T option = T())
{
   import std.stdio;
   writeln(cast(bool)option); // true
}
void main()
{
   Opts o;
   someFunction(o.silenceErrors = true);
   with(Options)
   someFunction(silenceErrorsOn);
}
```
SDB at 79
    
    
More information about the Digitalmars-d-learn
mailing list