digitalmars.D.bugs - [Issue 7624] New: std.typecons.Tuple slicing
- d-bugmail puremagic.com (44/44) Mar 01 2012 http://d.puremagic.com/issues/show_bug.cgi?id=7624
http://d.puremagic.com/issues/show_bug.cgi?id=7624 Summary: std.typecons.Tuple slicing Product: D Version: D2 Platform: All OS/Version: All Status: NEW Severity: enhancement Priority: P2 Component: DMD AssignedTo: nobody puremagic.com ReportedBy: bearophile_hugs eml.cc --- Comment #0 from bearophile_hugs eml.cc 2012-03-01 15:37:08 PST --- std.typecons.Tuple supports both a "slice" method and normal array slicing syntax: import std.stdio, std.typecons; void main() { Tuple!(int,float,string,ubyte) t4; t4[2] = "XXX"; t4[3] = 99; writeln(t4); writeln(typeid(typeof(t4)), "\n"); auto t2a = t4.slice!(1, 3); writeln(t2a); writeln(typeid(typeof(t2a)), "\n"); auto t2b = t4[1 .. 3]; writeln(t2b); writeln(typeid(typeof(t2b)), "\n"); } Outout with DMD 2.059head: Tuple!(int,float,string,ubyte)(0, nan, "XXX", 99) std.typecons.Tuple!(int,float,string,ubyte).Tuple Tuple!(float,string)(nan, "XXX") std.typecons.Tuple!(float,string).Tuple nanXXX (float,immutable(char)[]) But the natural syntax, using [1..3], returns a typetuple. Having two different kinds of tuples in a language is confusing, but slicing a kind tuple and see as a result the other kind of tuple is a bit too much confusing. Is it possible to modify D/Phobos to make t4[1..3] return a std.typecons.Tuple (and then deprecate the "slice" method)? -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: -------
Mar 01 2012