Bug 15436 – Compiler still refers to AliasSeq-s as "tuple"-s (and TypeTuple?)
Status
RESOLVED
Resolution
FIXED
Severity
enhancement
Priority
P4
Component
dmd
Product
D
Version
D2
Platform
x86_64
OS
Linux
Creation time
2015-12-12T11:15:26Z
Last change time
2023-06-30T08:02:07Z
Keywords
bootcamp, pull
Assigned to
No Owner
Creator
Shriramana Sharma
Comments
Comment #0 by samjnaa — 2015-12-12T11:15:26Z
With DMD 2.0.69.2, compiling the following code:
import std.stdio, std.meta;
void main()
{
alias AS = AliasSeq!(int, 2);
void func(AS td) {}
}
produces the error:
Error: tuple TList is used as a type
This is inconsistent with the renaming of TypeTuple to AliasSeq and should be fixed. I searched through the DMD sources and while I found that it is mtype.d which causes the error (correctly) I am not sure which line labels this particular object as "tuple".
I find lots of references to "tuple"s and even "TypeTuple"s (shudder) in mtype.d and wonder why these aren't cleaned out...
While I have submitted a PR for cleaning out the word TypeTuple from Phobos: https://github.com/D-Programming-Language/phobos/pull/3756, I dare not enter the esoteric world of compilers, so I hope somebody cleans this up...
Comment #1 by dlang-bot — 2023-06-28T10:18:54Z
@ntrel created dlang/dmd pull request #15363 "Fix Issue 15436 - Compiler still refers to AliasSeq-s as "tuple"-s" fixing this issue:
- Fix Issue 15436 - Compiler still refers to AliasSeq-s as "tuple"-s
Replace "tuple type" with "type sequence".
Replace "tuple" with "sequence".
Pretty print `AliasSeq!(args)`, not `tuple(args)`.
Leave json as "tuple" for now.
Also mention std.typecons.Tuple when trying to return a sequence.
Note: This does not rename any internal compiler symbols.
https://github.com/dlang/dmd/pull/15363
Comment #2 by dlang-bot — 2023-06-30T08:02:07Z
dlang/dmd pull request #15363 "Fix Issue 15436 - Compiler still refers to AliasSeq-s as "tuple"-s" was merged into master:
- 8cf2b41c2276d0491f3a0421dcd26dd4cfe17b83 by Nick Treleaven:
Fix Issue 15436 - Compiler still refers to AliasSeq-s as "tuple"-s
Replace "tuple type" with "type sequence".
Replace "tuple" with "sequence".
Pretty print `AliasSeq!(args)`, not `tuple(args)`.
Leave json as "tuple" for now.
Also mention std.typecons.Tuple when trying to return a sequence.
Note: This does not rename any internal compiler symbols.
https://github.com/dlang/dmd/pull/15363