Thread overview | ||||||
---|---|---|---|---|---|---|
|
November 30, 2011 idea for variant improvement | ||||
---|---|---|---|---|
| ||||
Variant is very usefull but a function who take a variant as parameter do not works whithout a cast. but You can assign a value form any type in statement Variant v = 2u. the code below explain well the problem --------------- import std.string; import std.stdio; import std.variant; void func( Variant param ){ writeln( "it works" ); } void func2( T )( T param ){ Variant a = cast(Variant) param; writeln( "it works" ); } void main( string[] args ){ Variant a = 2u; // works func( a ); //func( 2u ); // does not works func2( 2u ); } ---------- It will be great if function func work in all case |
November 30, 2011 Re: idea for variant improvement | ||||
---|---|---|---|---|
| ||||
Posted in reply to bioinfornatics | On 11/30/2011 07:53 PM, bioinfornatics wrote: > Variant is very usefull but a function who take a variant as parameter > do not works whithout a cast. but You can assign a value form any type > in statement Variant v = 2u. > the code below explain well the problem > --------------- > import std.string; > import std.stdio; > import std.variant; > > void func( Variant param ){ > writeln( "it works" ); > } > > void func2( T )( T param ){ > Variant a = cast(Variant) param; > writeln( "it works" ); > } > > void main( string[] args ){ > Variant a = 2u; // works > func( a ); > //func( 2u ); // does not works > func2( 2u ); > } > ---------- > > It will be great if function func work in all case > Vote here: http://d.puremagic.com/issues/show_bug.cgi?id=7019 |
November 30, 2011 Re: idea for variant improvement | ||||
---|---|---|---|---|
| ||||
Posted in reply to Timon Gehr | Le mercredi 30 novembre 2011 à 22:19 +0100, Timon Gehr a écrit :
> On 11/30/2011 07:53 PM, bioinfornatics wrote:
> > Variant is very usefull but a function who take a variant as parameter
> > do not works whithout a cast. but You can assign a value form any type
> > in statement Variant v = 2u.
> > the code below explain well the problem
> > ---------------
> > import std.string;
> > import std.stdio;
> > import std.variant;
> >
> > void func( Variant param ){
> > writeln( "it works" );
> > }
> >
> > void func2( T )( T param ){
> > Variant a = cast(Variant) param;
> > writeln( "it works" );
> > }
> >
> > void main( string[] args ){
> > Variant a = 2u; // works
> > func( a );
> > //func( 2u ); // does not works
> > func2( 2u );
> > }
> > ----------
> >
> > It will be great if function func work in all case
> >
>
> Vote here: http://d.puremagic.com/issues/show_bug.cgi?id=7019
yes thanks i will do. And you you do not vote for this feature?
|
November 30, 2011 Re: idea for variant improvement | ||||
---|---|---|---|---|
| ||||
Posted in reply to bioinfornatics | On 11/30/2011 11:55 PM, bioinfornatics wrote: > Le mercredi 30 novembre 2011 à 22:19 +0100, Timon Gehr a écrit : >> On 11/30/2011 07:53 PM, bioinfornatics wrote: >>> Variant is very usefull but a function who take a variant as parameter >>> do not works whithout a cast. but You can assign a value form any type >>> in statement Variant v = 2u. >>> the code below explain well the problem >>> --------------- >>> import std.string; >>> import std.stdio; >>> import std.variant; >>> >>> void func( Variant param ){ >>> writeln( "it works" ); >>> } >>> >>> void func2( T )( T param ){ >>> Variant a = cast(Variant) param; >>> writeln( "it works" ); >>> } >>> >>> void main( string[] args ){ >>> Variant a = 2u; // works >>> func( a ); >>> //func( 2u ); // does not works >>> func2( 2u ); >>> } >>> ---------- >>> >>> It will be great if function func work in all case >>> >> >> Vote here: http://d.puremagic.com/issues/show_bug.cgi?id=7019 > > yes thanks i will do. And you you do not vote for this feature? > I already have =). http://d.puremagic.com/issues/votes.cgi?action=show_bug&bug_id=7019 |
Copyright © 1999-2021 by the D Language Foundation