[Issue 10951] New: EnumMembers returns duplicate members for enums
d-bugmail at puremagic.com
d-bugmail at puremagic.com
Mon Sep 2 06:26:10 PDT 2013
http://d.puremagic.com/issues/show_bug.cgi?id=10951
Summary: EnumMembers returns duplicate members for enums
Product: D
Version: D2
Platform: All
OS/Version: All
Status: NEW
Severity: normal
Priority: P2
Component: Optlink
AssignedTo: nobody at puremagic.com
ReportedBy: andrej.mitrovich at gmail.com
--- Comment #0 from Andrej Mitrovic <andrej.mitrovich at gmail.com> 2013-09-02 06:26:08 PDT ---
-----
import std.conv;
import std.stdio;
import std.string;
import std.traits;
import std.typetuple;
import std.socket;
void main()
{
string[] enums = to!(string[])([EnumMembers!SocketOption]);
writeln(enums.join("\n"));
}
-----
Prints:
DEBUG
BROADCAST
REUSEADDR
LINGER
OOBINLINE
SNDBUF
RCVBUF
DONTROUTE
SNDTIMEO
RCVTIMEO
ERROR
KEEPALIVE
ACCEPTCONN
RCVLOWAT
SNDLOWAT
TYPE
DEBUG -- note duplicate!
REUSEADDR -- note duplicate!
IPV6_MULTICAST_IF
IPV6_MULTICAST_LOOP
IPV6_MULTICAST_HOPS
IPV6_JOIN_GROUP
IPV6_LEAVE_GROUP
IPV6_V6ONLY
The workaround for user code is to use NoDuplicate from std.typetuple:
string[] enums = to!(string[])([NoDuplicates!(EnumMembers!SocketOption)]);
--
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
More information about the Digitalmars-d-bugs
mailing list