digitalmars.D.bugs - [Issue 1503] New: Type aliases and tuples of template instances
- d-bugmail puremagic.com (28/28) Sep 14 2007 http://d.puremagic.com/issues/show_bug.cgi?id=1503
- d-bugmail puremagic.com (10/10) Sep 15 2007 http://d.puremagic.com/issues/show_bug.cgi?id=1503
- Brad Roberts (7/23) Sep 15 2007 The keywords are nice to haves, but definitely not required. I wouldn't...
- d-bugmail puremagic.com (17/17) Oct 21 2009 http://d.puremagic.com/issues/show_bug.cgi?id=1503
- d-bugmail puremagic.com (19/19) Oct 11 2010 http://d.puremagic.com/issues/show_bug.cgi?id=1503
http://d.puremagic.com/issues/show_bug.cgi?id=1503
Summary: Type aliases and tuples of template instances
Product: D
Version: 1.021
Platform: PC
OS/Version: Windows
Status: NEW
Severity: normal
Priority: P2
Component: DMD
AssignedTo: bugzilla digitalmars.com
ReportedBy: samukha voliacable.com
May be a duplicate of other tuple bugs.
template Foo(T)
{
alias T Type;
}
template Foos(A...)
{
alias A Foos;
}
alias Foos!(Foo!(int), Foo!(char)) foos;
foos[0].Type x = 20; // Fails
-----
Error: no identifier for declarator foos[0];
Works if a redundant typeof is added:
typeof(foos[0].Type) x = 20;
--
Sep 14 2007
http://d.puremagic.com/issues/show_bug.cgi?id=1503
smjg iname.com changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |smjg iname.com
Keywords| |rejects-valid
Please remember to assign keywords to bug reports. To everybody reading this:
Please look through issues you've reported and check for missing keywords.
--
Sep 15 2007
d-bugmail puremagic.com wrote:
http://d.puremagic.com/issues/show_bug.cgi?id=1503
smjg iname.com changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |smjg iname.com
Keywords| |rejects-valid
Please remember to assign keywords to bug reports. To everybody reading this:
Please look through issues you've reported and check for missing keywords.
The keywords are nice to haves, but definitely not required. I wouldn't
spend a lot of time doing this sort of post-bug filing fixup. Walter,
speak up if you rely on them for prioritization, but I've never heard
you mention them before.
Later,
Brad
Sep 15 2007
http://d.puremagic.com/issues/show_bug.cgi?id=1503
PDT ---
An extra alias can be added to stop the gap:
template Foo(T)
{
alias T Type;
}
template Foos(A...)
{
alias A Foos;
}
alias Foos!(Foo!(int), Foo!(char)) foos;
alias foos[0] foo;
foo.Type x = 20;
--
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
Oct 21 2009
http://d.puremagic.com/issues/show_bug.cgi?id=1503
Manuel König <manuelk89 gmx.net> changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|NEW |RESOLVED
CC| |manuelk89 gmx.net
Resolution| |DUPLICATE
OS/Version|Windows |All
The typeof(foos[0].Type) x = 20; trick doesn't work for me, but aliasing the
declaration of the form
a[0].t x;
is possible because the parser does not accept that syntax, even when t is a
type. Your alias trick bypasses that limitation, that's why it works.
*** This issue has been marked as a duplicate of issue 3085 ***
--
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
Oct 11 2010









Brad Roberts <braddr puremagic.com> 