www.digitalmars.com         C & C++   DMDScript  

digitalmars.D - Deprecation plan for TypeTuple?

reply berni44 <dlang d-ecke.de> writes:
I know, this question has been asked 4 years ago where the answer 
was essentially that we should wait some time... Now, what's the 
current state?
Jan 16
next sibling parent reply "H. S. Teoh" <hsteoh quickfur.ath.cx> writes:
On Thu, Jan 16, 2020 at 04:13:31PM +0000, berni44 via Digitalmars-d wrote:
 I know, this question has been asked 4 years ago where the answer was
 essentially that we should wait some time... Now, what's the current
 state?
I thought `TypeTuple` already doesn't compile, and you have to use `AliasSeq` now? Although there's still the ongoing problem of the compiler docs still referring to "tuples", and "AliasSeq" being a real mouthful that people have a hard time understanding without spending a lot of time to learn what it is. T -- Two wrongs don't make a right; but three rights do make a left...
Jan 16
parent berni44 <dlang d-ecke.de> writes:
On Thursday, 16 January 2020 at 18:17:03 UTC, H. S. Teoh wrote:
 I thought `TypeTuple` already doesn't compile, and you have to 
 use `AliasSeq` now?
I havn't checked that. I just noticed that std.typetuple still exists and asked myself if it is still needed...
Jan 16
prev sibling parent reply Jonathan M Davis <newsgroup.d jmdavisprog.com> writes:
On Thursday, January 16, 2020 11:17:03 AM MST H. S. Teoh via Digitalmars-d 
wrote:
 On Thu, Jan 16, 2020 at 04:13:31PM +0000, berni44 via Digitalmars-d wrote:
 I know, this question has been asked 4 years ago where the answer was
 essentially that we should wait some time... Now, what's the current
 state?
I thought `TypeTuple` already doesn't compile, and you have to use `AliasSeq` now?
Originally, TypeTuple was left in undeprecated, because it was so heavily used and so much code would get deprecation messages if we actually deprecated it. So, we added AliasSeq and told people to switch to using it, but we didn't actually do anything to TypeTuple. We might have removed it from the documentation at some point (I don't recall), but it was never actually deprecated. I don't know how disruptive it would be to deprecate it now.
 Although there's still the ongoing problem of the compiler docs still
 referring to "tuples", and "AliasSeq" being a real mouthful that people
 have a hard time understanding without spending a lot of time to learn
 what it is.
There isn't _any_ name which doesn't have problems. They aren't tuples as tuples are normally defined (e.g. they don't nest), and they can hold a combination of types and values. It's not even entirely accurate that it's a sequence of aliases. No matter what you name it, you have to explain it. AliasSeq was the best of a list of bad names, and it caused fewer bad assumptions than other names like TypeTuple do. So, it was the winner when we decided to rename TypeTuple to try to reduce the confusion. - Jonathan M Davis
Jan 17
parent reply MoonlightSentinel <moonlightsentinel disroot.org> writes:
On Friday, 17 January 2020 at 13:06:34 UTC, Jonathan M Davis 
wrote:
 Originally, TypeTuple was left in undeprecated, because it was 
 so heavily used and so much code would get deprecation messages 
 if we actually deprecated it. So, we added AliasSeq and told 
 people to switch to using it, but we didn't actually do 
 anything to TypeTuple. We might have removed it from the 
 documentation at some point (I don't recall), but it was never 
 actually deprecated. I don't know how disruptive it would be to 
 deprecate it now.
std.typecons still has DDOC comments but is hidden from the public documentation (except a note on AliasSeq which we should probably be removed). But I don't see much value in deprecating/removing TypeTuple because it's implementation just forwards to AliasSeq anyway and hence does not require maintenance/bugfixes.
Jan 17
parent MoonlightSentinel <moonlightsentinel disroot.org> writes:
On Friday, 17 January 2020 at 23:49:15 UTC, MoonlightSentinel 
wrote:
 [...] (except a note on AliasSeq which we should probably be 
 removed).
Nevermind, this comment was requested a few years ago
Jan 17