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