digitalmars.D.bugs - [Issue 9839] New: std.traits.Select to alias variables too
- d-bugmail puremagic.com (49/49) Mar 30 2013 http://d.puremagic.com/issues/show_bug.cgi?id=9839
- d-bugmail puremagic.com (12/12) Mar 31 2013 http://d.puremagic.com/issues/show_bug.cgi?id=9839
- d-bugmail puremagic.com (11/11) Mar 31 2013 http://d.puremagic.com/issues/show_bug.cgi?id=9839
- d-bugmail puremagic.com (9/9) Mar 31 2013 http://d.puremagic.com/issues/show_bug.cgi?id=9839
http://d.puremagic.com/issues/show_bug.cgi?id=9839
Summary: std.traits.Select to alias variables too
Product: D
Version: D2
Platform: All
OS/Version: All
Status: NEW
Severity: enhancement
Priority: P2
Component: Phobos
AssignedTo: nobody puremagic.com
ReportedBy: bearophile_hugs eml.cc
Currently Select can't be used with variable names:
import std.traits: Select;
void main() {
uint[] a1;
ulong[] a2;
alias T = int;
alias T1 = Select!(T.sizeof == uint.sizeof, uint, ulong);
alias a = Select!(is(T1 == uint), a1, a2);
}
DMD 2.063alpha:
temp.d(7): Error: template instance Select!(true, a1, a2) Select!(true, a1, a2)
does not match template declaration Select(bool condition, T, F)
So I suggest to add an alias version of Select (in future when built-in types
will become alias-able, the Select without alias will be removed):
template Select(bool b, alias A1, alias A2) {
static if (b)
alias Select = A1;
else
alias Select = A2;
}
template Select(bool b, T1, T2) {
static if (b)
alias Select = T1;
else
alias Select = T2;
}
void main() {
uint[] a1;
ulong[] a2;
alias T = int;
alias T1 = Select!(T.sizeof == uint.sizeof, uint, ulong);
alias a = Select!(is(T1 == uint), a1, a2);
}
--
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
Mar 30 2013
http://d.puremagic.com/issues/show_bug.cgi?id=9839
Andrej Mitrovic <andrej.mitrovich gmail.com> changed:
What |Removed |Added
----------------------------------------------------------------------------
Keywords| |pull
Summary|std.traits.Select to alias |std.traits.Select should be
|variables too |able to select symbols
04:06:46 PDT ---
https://github.com/D-Programming-Language/phobos/pull/1235
--
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
Mar 31 2013
http://d.puremagic.com/issues/show_bug.cgi?id=9839 Commits pushed to master at https://github.com/D-Programming-Language/phobos https://github.com/D-Programming-Language/phobos/commit/320b73a39d3950651c034a142b70d93b36a9ecb1 Fixes Issue 9839 - Select should be able to select symbols. https://github.com/D-Programming-Language/phobos/commit/39dd56dc551248917c093838ab43fdaf34a5501d Issue 9839 - Select should be able to select symbols. -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: -------
Mar 31 2013
http://d.puremagic.com/issues/show_bug.cgi?id=9839
Kenji Hara <k.hara.pg gmail.com> changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|NEW |RESOLVED
Resolution| |FIXED
--
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
Mar 31 2013









d-bugmail puremagic.com 