auto type for defaulted arguments? [Repost]

Maxim Fomin maxim at maxim-fomin.ru
Thu Jun 27 10:58:58 PDT 2013


On Thursday, 27 June 2013 at 17:42:14 UTC, bearophile wrote:
> (This is an extended repost of a message that I have put in 
> D.learn.)
>
> Sometimes I have code like this:
>
> struct VeryLongNamedStruct {}
> void foo(in VeryLongNamedStruct x = VeryLongNamedStruct(1)) {}
> void main() {}
>
> Or even:
>
> void bar(in TupleFoo x = TupleFoo(TupleBar(2), TupleSpam(3))) {}
>
> In those cases something I'd like to use "auto" in the function 
> signature for the arguments that have a default value:
>
> void foo(in auto x = VeryLongNamedStruct(1)) {}
>
> Do you like? Is it safe enough? Is it useful enough? Is it too 
> much work to implement?
>
> A bit more complex case:
>
> void spam(T)(const x = Foo!T(4)) {}
>
> Bye,
> bearophile

Alias supposed to be used for such cases, but auto can be used in 
paramenters too.


More information about the Digitalmars-d mailing list