www.digitalmars.com         C & C++   DMDScript  

digitalmars.D - Binding rvalues to ref parameters

reply Andrei Alexandrescu <SeeWebsiteForEmail erdani.org> writes:
Hi Manu and everyone else:


I'm publicly distributing what started as a private email to Manu - I'm 
trying to get a point across that is important and of general interest.

I've seen in a recent thread (titled "rvalues -> ref (yup... again!)") 
that Manu brought up the implicit conversion of rvalues to ref 
parameters. Sadly I don't have the bandwidth to follow that thread, let 
alone posting in it. However, I do have great news.

Manu has asked for this feature literally for years. He has presented 
good motivating examples and made reasonable arguments. Sadly, none of 
his forum discussions or in-person discussions during DConf made an 
impact - frustratingly, there was no change in the language.

It is likely this forum thread will also end the same. The good news is 
there is a way to ensure your proposal gets a fair shake of the stick: 
write a DIP.

Filing a DIP is like filing a police report: once it's in the system, 
we're obligated to work on it. There's a guarantee of a response. In the 
case of acceptance, we commit to implementing the proposal. In the case 
of rejection, we give a clear motivation of the reasons we had. In the 
case we ask for further review, we provide clear feedback of what would 
take the DIP through another iteration.

Forum discussions are the equivalent of complaining loudly in a bar to 
people you know and also to strangers within earshot that your house was 
broken into. Until you file a report, the police will not look into it.

I repeat: there is a GUARANTEED mechanism to get us to work on binding 
rvalues to ref parameters. GUARANTEED. This is so powerful, it's 
disconcerting. You need to get a DIP written in all detail, get it 
through community review, and then we have no choice but to look into it.


Thanks,

Andrei
Mar 24 2018
parent reply Rubn <where is.this> writes:
On Saturday, 24 March 2018 at 12:51:07 UTC, Andrei Alexandrescu 
wrote:
 Filing a DIP is like filing a police report: once it's in the 
 system, we're obligated to work on it. There's a guarantee of a 
 response.
https://wiki.dlang.org/DIP36 Guess there's no point in writing another one then is there? Or how many "police reports" do you need to file before the "police" change their decision?
 I repeat: there is a GUARANTEED mechanism to get us to work on 
 binding rvalues to ref parameters. GUARANTEED. This is so 
 powerful, it's disconcerting. You need to get a DIP written in 
 all detail, get it through community review, and then we have 
 no choice but to look into it.
https://wiki.dlang.org/DIP66 "Approved conditionally" https://github.com/dlang/dmd/pull/3998 *crosses fingers* it's been 4 years but maybe this is the year this actually happens. Anyways there's a whole list of DIPs that didn't get any attention, they were just dumped. I know a new DIP processes was created but not even a quick pass through of the DIPS with some comments of whether it would be worth migrating the DIP to the new process or not. I mean there's one DIP that was accepted but the PR implementing it has been sitting in the queue for 4 years.
Mar 25 2018
parent reply Andrei Alexandrescu <SeeWebsiteForEmail erdani.org> writes:
On 3/25/18 9:40 AM, Rubn wrote:
 On Saturday, 24 March 2018 at 12:51:07 UTC, Andrei Alexandrescu wrote:
 Filing a DIP is like filing a police report: once it's in the system, 
 we're obligated to work on it. There's a guarantee of a response.
https://wiki.dlang.org/DIP36
The DIP system has changed extensively since Mike Parker took it over. This "old format" DIP would need to be submitted to https://github.com/dlang/DIPs.
Mar 25 2018
parent reply Rubn <where is.this> writes:
On Sunday, 25 March 2018 at 14:28:30 UTC, Andrei Alexandrescu 
wrote:
 On 3/25/18 9:40 AM, Rubn wrote:
 On Saturday, 24 March 2018 at 12:51:07 UTC, Andrei 
 Alexandrescu wrote:
 Filing a DIP is like filing a police report: once it's in the 
 system, we're obligated to work on it. There's a guarantee of 
 a response.
https://wiki.dlang.org/DIP36
The DIP system has changed extensively since Mike Parker took it over. This "old format" DIP would need to be submitted to https://github.com/dlang/DIPs.
That's not the issue... That DIP was already labelled as rejected. Wasn't able to find an explanation anywhere as to why either. No point changing the format for a DIP that was already rejected.
Mar 25 2018
next sibling parent Dgame <r.schuett.1987 gmail.com> writes:
On Sunday, 25 March 2018 at 19:24:00 UTC, Rubn wrote:
 On Sunday, 25 March 2018 at 14:28:30 UTC, Andrei Alexandrescu 
 wrote:
 On 3/25/18 9:40 AM, Rubn wrote:
 On Saturday, 24 March 2018 at 12:51:07 UTC, Andrei 
 Alexandrescu wrote:
 Filing a DIP is like filing a police report: once it's in 
 the system, we're obligated to work on it. There's a 
 guarantee of a response.
https://wiki.dlang.org/DIP36
The DIP system has changed extensively since Mike Parker took it over. This "old format" DIP would need to be submitted to https://github.com/dlang/DIPs.
That's not the issue... That DIP was already labelled as rejected. Wasn't able to find an explanation anywhere as to why either. No point changing the format for a DIP that was already rejected.
There is one: https://forum.dlang.org/thread/ylebrhjnrrcajnvtthtt forum.dlang.org?page=9
Mar 25 2018
prev sibling parent Andrei Alexandrescu <SeeWebsiteForEmail erdani.org> writes:
On 03/25/2018 03:24 PM, Rubn wrote:
 On Sunday, 25 March 2018 at 14:28:30 UTC, Andrei Alexandrescu wrote:
 On 3/25/18 9:40 AM, Rubn wrote:
 On Saturday, 24 March 2018 at 12:51:07 UTC, Andrei Alexandrescu wrote:
 Filing a DIP is like filing a police report: once it's in the 
 system, we're obligated to work on it. There's a guarantee of a 
 response.
https://wiki.dlang.org/DIP36
The DIP system has changed extensively since Mike Parker took it over. This "old format" DIP would need to be submitted to https://github.com/dlang/DIPs.
That's not the issue... That DIP was already labelled as rejected. Wasn't able to find an explanation anywhere as to why either. No point changing the format for a DIP that was already rejected.
The entire procedure and approach has been rebooted. All old DIPs should be moved to the new system if there is one or more champions for them. Thanks! -- Andrei
Mar 25 2018