New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Fix type tuple #780
Fix type tuple #780
Conversation
While most of us will agree that |
This pull incorporates no breaking changes because of (just updated) "backward compatibility" commit. |
I have spent really a lot of time trying to figure out why the hell is
Why not to use regular deprecation process as usual? |
You're basically trying to get rid of The push at this point is to stop breaking code (including to stop deprecating anything). If Walter had his way, we would pretty much never deprecate anything or make any breaking changes for any reason, and he's becoming increasingly intolerant of such changes - especially if it's to rename something. And this would break a lot of code, even if it wasn't immediate breakage. We'll see what other devs say, but I think that we're just plain stuck with |
Just want to mention that every use of |
If you want a change like this to be made, you're probably going to have to convince Andrei (who may have to convince Walter). I've pretty much used up all of my karma with regards to pushing through breaking changes, and I think that Walter is particularly sick of me making such changes, even if they ostensibly make the library better. And this is a huge breaking change at a time when we're trying to stop making breaking changes altogether.
Then the solution is to improve the documentation, not to make breaking changes. The construct is just fine with how it works now and doesn't need to be changed. It's just that it has a bad name. Regardless of whether Walter would accept renaming |
And I don't want to get rid of |
@jmdavis, thanks a lot for the comments. But as you mentioned we have to wait Andrey and Walter with this. So I did my best, it's other's turn. Will it be accepted or not - I don't bother. I just want you to make the right choice. |
If renaming |
Carefully rebased after Also added some numbers to confirm my position about the fact that And I want to mention that it's not my main reason, it's just to show how silly it sounds (IMHO) "rename |
I see. I hadn't noticed the changes you'd made to keep |
I agree that the name @andralex @WalterBright I think we just need your opinions now. |
Git note: File renaming and creating a new file with same name must be a separated into different commits to allow rebasing this branch and viewing correct diff because git doesn’t explicitly track file movement. Note that final diff of a merge commit of this branch will still be inaccurate just like an automatic rebase of another branch to this commit.
All 388 usings of `TypeTuple` in Phobos are carefully inspected: * 40 (~10%) times `expressionTuple` is used * 76 (~20%) times `GenericTuple` is used * 272 (~70%) times `TypeTuple` is used
Carefully rebased. |
Andrei made some comments in the newsgroup semi-recently that indicated that he wouldn't be against renaming And I confess that I don't think that |
I think it's worth having a more open discussion in the newsgroup: http://forum.dlang.org/post/jagyupxiicevxrpnqewq@forum.dlang.org |
I'm on a trip over ~25 oldest pull request. In this case it's abundantly clear that if something about std.typetuple is going to change it is a new std.meta module where we can put things "right". Too late to break old and tried std.typetuple. See DIP54 and a discussion that still leaves a lot to debate: Closing. |
Fixes
TypeTuple
part of Issue 4113.Still not sure about properly names (except for
expressionTuple
which is titled in Tuples article)Note:
View first commit diff to see
std/{typetuple.d → generictuple.d}
renaming+changes.[EDITED]
As it shown in the second commit
TypeTuple
is used ~70% of generic tuple usage.