What's happening with the `in` storage class

2018-06-08 Thread Mike Franklin via Digitalmars-d
See https://dlang.org/spec/function.html#parameters I also noticed Walter removed `in` in this PR: https://github.com/dlang/phobos/pull/6561 Should it be deprecated (not necessarily removed) to guide users towards a more consistent and idiomatic usage of the language? Also, if there are fe

Re: What's happening with the `in` storage class

2018-06-08 Thread Walter Bright via Digitalmars-d
On 6/8/2018 6:02 PM, Mike Franklin wrote: Should it be deprecated (not necessarily removed) to guide users towards a more consistent and idiomatic usage of the language? Also, if there are fewer usages, it will make it much easier to redefine `in` to something useful in the future. 'in' is su

Re: What's happening with the `in` storage class

2018-06-08 Thread Adam D. Ruppe via Digitalmars-d
On Saturday, 9 June 2018 at 02:13:00 UTC, Walter Bright wrote: But it was never enforced, meaning that suddenly enforcing it is just going to break code left and right. It isn't going to break anything. It is going to *correctly diagnose already broken code*. That's a significant difference

Re: What's happening with the `in` storage class

2018-06-08 Thread SonicFreak94 via Digitalmars-d
On Saturday, 9 June 2018 at 02:17:18 UTC, Adam D. Ruppe wrote: On Saturday, 9 June 2018 at 02:13:00 UTC, Walter Bright wrote: But it was never enforced, meaning that suddenly enforcing it is just going to break code left and right. It isn't going to break anything. It is going to *correctly

Re: What's happening with the `in` storage class

2018-06-08 Thread Mike Franklin via Digitalmars-d
On Saturday, 9 June 2018 at 02:13:00 UTC, Walter Bright wrote: 'in' is supposed to mean 'scope const'. But it was never enforced, meaning that suddenly enforcing it is just going to break code left and right. I think the breakage would be simple to mitigate. Anywhere `in` is used we display

Re: What's happening with the `in` storage class

2018-06-08 Thread Walter Bright via Digitalmars-d
On 6/8/2018 7:17 PM, Adam D. Ruppe wrote: On Saturday, 9 June 2018 at 02:13:00 UTC, Walter Bright wrote: But it was never enforced, meaning that suddenly enforcing it is just going to break code left and right. It isn't going to break anything. It is going to *correctly diagnose already brok

Re: What's happening with the `in` storage class

2018-06-08 Thread Ali Çehreli via Digitalmars-d
On 06/08/2018 09:55 PM, Walter Bright wrote: On 6/8/2018 7:17 PM, Adam D. Ruppe wrote: On Saturday, 9 June 2018 at 02:13:00 UTC, Walter Bright wrote: But it was never enforced, meaning that suddenly enforcing it is just going to break code left and right. It isn't going to break anything. It

Re: What's happening with the `in` storage class

2018-06-08 Thread Walter Bright via Digitalmars-d
On 6/8/2018 8:12 PM, Mike Franklin wrote: Simple! And when v2.{whatever} comes around, we're all set with a better D. My goal in the short term is that Phobos is going to compile successfully with dip1000 the way it is now. It has already been deferred and deferred and deferred.

Re: What's happening with the `in` storage class

2018-06-08 Thread Mike Franklin via Digitalmars-d
On Saturday, 9 June 2018 at 05:00:29 UTC, Walter Bright wrote: My goal in the short term is that Phobos is going to compile successfully with dip1000 the way it is now. It has already been deferred and deferred and deferred. I understand that, and while you're doing that I can begin implemen

Re: What's happening with the `in` storage class

2018-06-09 Thread Walter Bright via Digitalmars-d
On 6/8/2018 10:04 PM, Mike Franklin wrote: On Saturday, 9 June 2018 at 05:00:29 UTC, Walter Bright wrote: My goal in the short term is that Phobos is going to compile successfully with dip1000 the way it is now. It has already been deferred and deferred and deferred. I understand that, and w

Re: What's happening with the `in` storage class

2018-06-09 Thread rikki cattermole via Digitalmars-d
@Walter do you have a long term plan for `in`? If not, is there a dependency(s) that when completed that would make you feel more comfortable talking about it constructively?

Re: What's happening with the `in` storage class

2018-06-09 Thread Mike Franklin via Digitalmars-d
On Saturday, 9 June 2018 at 07:26:02 UTC, Walter Bright wrote: Your time is valuable, too, and while I'm not going to tell you want to work on, I'd prefer something more important. If that's how you feel then I clearly don't share your values. To me, cleaning up the unimplemented, half-imple

Re: What's happening with the `in` storage class

2018-06-09 Thread Jonathan M Davis via Digitalmars-d
On Friday, June 08, 2018 22:00:02 Ali Çehreli via Digitalmars-d wrote: > On 06/08/2018 09:55 PM, Walter Bright wrote: > > On 6/8/2018 7:17 PM, Adam D. Ruppe wrote: > >> On Saturday, 9 June 2018 at 02:13:00 UTC, Walter Bright wrote: > >>> But it was never enforced, meaning that suddenly enforcing it

Re: What's happening with the `in` storage class

2018-06-09 Thread Nicholas Wilson via Digitalmars-d
On Saturday, 9 June 2018 at 05:00:02 UTC, Ali Çehreli wrote: On 06/08/2018 09:55 PM, Walter Bright wrote: On 6/8/2018 7:17 PM, Adam D. Ruppe wrote: On Saturday, 9 June 2018 at 02:13:00 UTC, Walter Bright wrote: But it was never enforced, meaning that suddenly enforcing it is just going to brea

Re: What's happening with the `in` storage class

2018-06-09 Thread Yuxuan Shui via Digitalmars-d
On Saturday, 9 June 2018 at 07:56:08 UTC, Jonathan M Davis wrote: Now that it is defined with DIP 1000, it seems like pretty much everyone trying to use it has a hard time understanding it at first (at least beyond the really simple cases). It might have been because that the DIP is written in

Re: What's happening with the `in` storage class

2018-06-09 Thread Jonathan Marler via Digitalmars-d
On Saturday, 9 June 2018 at 07:40:08 UTC, Mike Franklin wrote: On Saturday, 9 June 2018 at 07:26:02 UTC, Walter Bright wrote: Your time is valuable, too, and while I'm not going to tell you want to work on, I'd prefer something more important. If that's how you feel then I clearly don't share

Re: What's happening with the `in` storage class

2018-06-09 Thread rikki cattermole via Digitalmars-d
On 10/06/2018 6:56 AM, Jonathan Marler wrote: Some of the things I've seen to be neglected are `shared`, `in`, broken import in-variance, tooling, community, compiler brittleness.  The results of the dlang survery seem to have been ignored.  Features like "tuples", "named parameteers", "interpo

Re: What's happening with the `in` storage class

2018-06-10 Thread Kagamin via Digitalmars-d
On Saturday, 9 June 2018 at 07:56:08 UTC, Jonathan M Davis wrote: Yes, but the exact mening of scope has never been clear. Plenty of folks have made assumptions about what it meant, but it was never actually defined. Now that it is defined with DIP 1000, it seems like pretty much everyone tryin

Re: What's happening with the `in` storage class

2018-06-11 Thread Atila Neves via Digitalmars-d
On Saturday, 9 June 2018 at 02:13:00 UTC, Walter Bright wrote: On 6/8/2018 6:02 PM, Mike Franklin wrote: Should it be deprecated (not necessarily removed) to guide users towards a more consistent and idiomatic usage of the language? Also, if there are fewer usages, it will make it much easier

Re: What's happening with the `in` storage class

2018-06-11 Thread Steven Schveighoffer via Digitalmars-d
On 6/11/18 7:48 AM, Atila Neves wrote: * Currently one has to pass `-dip1000` to get `scope` to do anything. This is opt-in. Any breakages would also be opt-in. I don't think breakage considerations are important here. Just on this point, there is nothing "opt in" about dip1000. Either all th

Re: What's happening with the `in` storage class

2018-06-11 Thread Steven Schveighoffer via Digitalmars-d
On 6/11/18 9:11 AM, Steven Schveighoffer wrote: For a while, phobos was partly compiled with dip1000 and it was a disaster. I should say, this was only for unittests. Normal release was done without dip1000. -Steve

Re: What's happening with the `in` storage class

2018-06-12 Thread Vijay Nayar via Digitalmars-d
On Saturday, 9 June 2018 at 02:38:14 UTC, SonicFreak94 wrote: On Saturday, 9 June 2018 at 02:17:18 UTC, Adam D. Ruppe wrote: On Saturday, 9 June 2018 at 02:13:00 UTC, Walter Bright wrote: But it was never enforced, meaning that suddenly enforcing it is just going to break code left and right.