[Issue 12743] New: tuple printing of alias names
via Digitalmars-d-bugs
digitalmars-d-bugs at puremagic.com
Tue May 13 03:23:09 PDT 2014
https://issues.dlang.org/show_bug.cgi?id=12743
Issue ID: 12743
Summary: tuple printing of alias names
Product: D
Version: D2
Hardware: x86
OS: Windows
Status: NEW
Severity: enhancement
Priority: P1
Component: Phobos
Assignee: nobody at puremagic.com
Reporter: bearophile_hugs at eml.cc
void main() {
import std.stdio, std.typecons;
static struct Pair1 { int x, y; }
auto a1 = [Pair1(1, 2), Pair1(3, 4)];
a1.writeln;
alias Pair2 = Tuple!(int, int);
auto a2 = [Pair2(1, 2), Pair2(3, 4)];
a2.writeln;
alias Pair3 = Pair2;
auto a3 = [Pair3(1, 2), Pair3(3, 4)];
a3.writeln;
}
Outout with DMD 2.066alpha:
[Pair1(1, 2), Pair1(3, 4)]
[Tuple!(int, int)(1, 2), Tuple!(int, int)(3, 4)]
[Tuple!(int, int)(1, 2), Tuple!(int, int)(3, 4)]
But I'd like an output like this, is it possible?
[Pair1(1, 2), Pair1(3, 4)]
[Pair2(1, 2), Pair2(3, 4)]
[Pair3(1, 2), Pair3(3, 4)]
If that's not possible then we could add a tuple alternative constructor that
accepts the name (similar to Python collections.namedtuple), used only by
write/format to print a nice tuple name:
alias Pair4 = NamedTuple!("Pair4", int, int);
--
More information about the Digitalmars-d-bugs
mailing list