Re: auto type for defaulted arguments? [Repost]
In the meantime I have opened an enhancement request: http://d.puremagic.com/issues/show_bug.cgi?id=10491 Henning Pohl has written a patch: https://github.com/D-Programming-Language/dmd/pull/2270 And Kenji has written some comments in Bugzilla, explaining why he doesn't like this ER. I usually trust Kenji judgement. So let's close down this idea? Bye, bearophile
auto type for defaulted arguments? [Repost]
(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
Re: auto type for defaulted arguments? [Repost]
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.
Re: auto type for defaulted arguments? [Repost]
On Thu, 27 Jun 2013 19:58:58 +0200 Maxim Fomin ma...@maxim-fomin.ru wrote: 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? I've noticed a need for that, too. but auto can be used in paramenters too. It can? Cool!
Re: auto type for defaulted arguments? [Repost]
On Thursday, 27 June 2013 at 20:24:46 UTC, Nick Sabalausky wrote: but auto can be used in paramenters too. It can? Cool! Actually I meant dmd does not support the feature now, but I see no reason for not supporting it.