Type tuple pointers
Meta via Digitalmars-d
digitalmars-d at puremagic.com
Thu May 21 12:36:06 PDT 2015
On Thursday, 21 May 2015 at 16:11:30 UTC, Timon Gehr wrote:
> On 05/21/2015 05:37 PM, Dicebot wrote:
>> On Thursday, 21 May 2015 at 15:30:59 UTC, Alex Parrill wrote:
>>> They aren't types themselves, so `TypeTuple!(int, char) var`
>>> doesn't
>>> make sense.
>>
>> Sadly, you are wrong on this one - this is actually a valid
>> variable
>> declaration which will create two distinct local variables and
>> uses
>> their aliases in resulting symbol list named 'var'.
>
> A wacky property of such variable declarations is this one:
>
> import std.stdio;
> alias Seq(T...)=T;
>
> void main(){
> char y='a';
> Seq!(char,char) x=y++;
> writeln(x);
> }
import std.stdio;
alias Seq(T...)=T;
void main(){
char y='a';
Seq!(char,char) a=y++; //ab
Seq!(char,char) b=cast(char)(y+1); //bb
Seq!(char,char) b=++y; //bc
}
Certainly weird and unexpected behaviour.
More information about the Digitalmars-d
mailing list