Re: DIP 1028 "Make @safe the Default" is dead

2020-06-09 Thread Jacob Shtokolov via Digitalmars-d-announce
On Saturday, 30 May 2020 at 20:29:37 UTC, Adam D. Ruppe wrote: We should make this actually work for everything. 1) Make inferred_attr: NOT apply to template/auto functions. 2) Add inverse attributes for all things. (or tri-state, true/false/null) 3) Solve the child scope problem somehow consi

Re: DIP 1028 "Make @safe the Default" is dead

2020-05-31 Thread Avrina via Digitalmars-d-announce
On Sunday, 31 May 2020 at 19:15:19 UTC, Walter Bright wrote: On 5/30/2020 4:39 AM, Nick Treleaven wrote: To preserve this, then please can we have `@safe module foo;`. This would change the default on a module basis to @safe, but still infer e.g. function template bodies as @system where neces

Re: DIP 1028 "Make @safe the Default" is dead

2020-05-31 Thread Walter Bright via Digitalmars-d-announce
On 5/30/2020 4:39 AM, Nick Treleaven wrote: To preserve this, then please can we have `@safe module foo;`. This would change the default on a module basis to @safe, but still infer e.g. function template bodies as @system where necessary. This feature would allow modules from different projects

Re: DIP 1028 "Make @safe the Default" is dead

2020-05-30 Thread Bruce Carneal via Digitalmars-d-announce
On Saturday, 30 May 2020 at 20:29:37 UTC, Adam D. Ruppe wrote: On Saturday, 30 May 2020 at 20:14:04 UTC, Steven Schveighoffer wrote: On 5/30/20 4:02 PM, Andrei Alexandrescu wrote: module foo; @safe: Again, not the same. Read the full thread that you quoted above. And even aside from infere

Re: DIP 1028 "Make @safe the Default" is dead

2020-05-30 Thread Adam D. Ruppe via Digitalmars-d-announce
On Saturday, 30 May 2020 at 20:14:04 UTC, Steven Schveighoffer wrote: On 5/30/20 4:02 PM, Andrei Alexandrescu wrote: module foo; @safe: Again, not the same. Read the full thread that you quoted above. And even aside from inference, it doesn't actually work for most the attributes. @safe i

Re: DIP 1028 "Make @safe the Default" is dead

2020-05-30 Thread James Lu via Digitalmars-d-announce
On Friday, 29 May 2020 at 05:08:44 UTC, Bruce Carneal wrote: Thanks Walter. Thanks to everyone in the commmunity for being nice and saying "Thank you." As a cautionary tale, Guido Van Rossum, former BDFL of Python, resigned over flamewars on the := operator in Python, the same arguments were

Re: DIP 1028 "Make @safe the Default" is dead

2020-05-30 Thread Steven Schveighoffer via Digitalmars-d-announce
On 5/30/20 4:02 PM, Andrei Alexandrescu wrote: On 5/30/20 7:39 AM, Nick Treleaven wrote: On Friday, 29 May 2020 at 21:18:13 UTC, Walter Bright wrote: On 5/29/2020 2:07 AM, Timon Gehr wrote: It would be great if `@safe:` did not affect declarations that would otherwise infer annotations. The

Re: DIP 1028 "Make @safe the Default" is dead

2020-05-30 Thread Andrei Alexandrescu via Digitalmars-d-announce
On 5/30/20 7:39 AM, Nick Treleaven wrote: On Friday, 29 May 2020 at 21:18:13 UTC, Walter Bright wrote: On 5/29/2020 2:07 AM, Timon Gehr wrote: It would be great if `@safe:` did not affect declarations that would otherwise infer annotations. The idea is the simple, general rule that:   attrib

Re: DIP 1028 "Make @safe the Default" is dead

2020-05-30 Thread Paul Backus via Digitalmars-d-announce
On Saturday, 30 May 2020 at 16:17:49 UTC, Steven Schveighoffer wrote: +1 this would be perfect. Not sure if this would work either, but both of these are already reserved words: default @safe: -Steve It would probably have to be something more like `default(@safe)`, since `default @safe:

Re: DIP 1028 "Make @safe the Default" is dead

2020-05-30 Thread Steven Schveighoffer via Digitalmars-d-announce
On 5/30/20 7:39 AM, Nick Treleaven wrote: On Friday, 29 May 2020 at 21:18:13 UTC, Walter Bright wrote: On 5/29/2020 2:07 AM, Timon Gehr wrote: It would be great if `@safe:` did not affect declarations that would otherwise infer annotations. The idea is the simple, general rule that:   attrib

Re: DIP 1028 "Make @safe the Default" is dead

2020-05-30 Thread Bruce Carneal via Digitalmars-d-announce
On Friday, 29 May 2020 at 21:38:40 UTC, Adam D. Ruppe wrote: On Friday, 29 May 2020 at 21:18:13 UTC, Walter Bright wrote: The idea is the simple, general rule that: There's already exceptions to that. public public void foo() {} is an error, whereas public: public void foo() {} is not.

Re: DIP 1028 "Make @safe the Default" is dead

2020-05-30 Thread Nick Treleaven via Digitalmars-d-announce
On Friday, 29 May 2020 at 21:18:13 UTC, Walter Bright wrote: On 5/29/2020 2:07 AM, Timon Gehr wrote: It would be great if `@safe:` did not affect declarations that would otherwise infer annotations. The idea is the simple, general rule that: attribute declaration; attribute { declaration;

Re: DIP 1028 "Make @safe the Default" is dead

2020-05-30 Thread Walter Bright via Digitalmars-d-announce
On 5/29/2020 2:38 PM, Adam D. Ruppe wrote: On Friday, 29 May 2020 at 21:18:13 UTC, Walter Bright wrote: The idea is the simple, general rule that: There's already exceptions to that. public public void foo() {} is an error, whereas public:   public void foo() {} is not. Is it really an

Re: DIP 1028 "Make @safe the Default" is dead

2020-05-30 Thread Iain Buclaw via Digitalmars-d-announce
On Friday, 29 May 2020 at 04:53:07 UTC, Walter Bright wrote: The subject says it all. If you care about memory safety, I recommending adding `safe:` as the first line in all your project modules, and annotate individual functions otherwise as necessary. For modules with C declarations, do as

Re: DIP 1028 "Make @safe the Default" is dead

2020-05-30 Thread Walter Bright via Digitalmars-d-announce
On 5/29/2020 2:53 AM, solidstate1991 wrote: Can we get a compiler flag that will enable safe by default for people who might want it? It would balkanize the language.

Re: DIP 1028 "Make @safe the Default" is dead

2020-05-30 Thread Iain Buclaw via Digitalmars-d-announce
On Friday, 29 May 2020 at 11:04:00 UTC, jmh530 wrote: On Friday, 29 May 2020 at 04:53:07 UTC, Walter Bright wrote: [...] Thank you Walter. I am sure this was not an easy decision, and I respect how you have handled the response. I think one important takeaway from this should be that people

Re: DIP 1028 "Make @safe the Default" is dead

2020-05-29 Thread Walter Bright via Digitalmars-d-announce
On 5/29/2020 3:36 AM, Ali Çehreli wrote: Thank you! Which meme did it? :o) My secret!

Re: DIP 1028 "Make @safe the Default" is dead

2020-05-29 Thread bpr via Digitalmars-d-announce
On Friday, 29 May 2020 at 20:36:12 UTC, Walter Bright wrote: Kenny G (famous clarinet player) Soprano saxophone, not clarinet. They look similar, and are both Bb instruments (I know there are non Bb clarinets), but they don't sound that similar to me. Kenny G is also sometimes heard on other

Re: DIP 1028 "Make @safe the Default" is dead

2020-05-29 Thread Walter Bright via Digitalmars-d-announce
On 5/29/2020 4:47 PM, Bastiaan Veelo wrote: I’m not sure who in this analogy is the Kenny G and who the Clive Davis, Haha, I was deliberately vague about that, so people could interpret it as they pleased. Off topic, and without extending the analogy, I had never heard about Kenny G He w

Re: DIP 1028 "Make @safe the Default" is dead

2020-05-29 Thread Bastiaan Veelo via Digitalmars-d-announce
On Friday, 29 May 2020 at 20:36:12 UTC, Walter Bright wrote: On 5/29/2020 7:22 AM, Paul Backus wrote: This is sad news. I was excited for @safe-by-default, and had hoped that the issue with extern(C) could be solved without throwing DIP 1028 away entirely. I watched a documentary on Clive Dav

Re: DIP 1028 "Make @safe the Default" is dead

2020-05-29 Thread Jonathan M Davis via Digitalmars-d-announce
On Thursday, May 28, 2020 10:53:07 PM MDT Walter Bright via Digitalmars-d- announce wrote: > The subject says it all. > > If you care about memory safety, I recommending adding `safe:` as the first > line in all your project modules, and annotate individual functions > otherwise as necessary. For m

Re: DIP 1028 "Make @safe the Default" is dead

2020-05-29 Thread Jonathan M Davis via Digitalmars-d-announce
On Friday, May 29, 2020 6:48:20 AM MDT Meta via Digitalmars-d-announce wrote: > On Friday, 29 May 2020 at 12:22:07 UTC, Steven Schveighoffer > > wrote: > > On 5/29/20 12:53 AM, Walter Bright wrote: > >> The subject says it all. > >> > >> If you care about memory safety, I recommending adding `safe:

Re: DIP 1028 "Make @safe the Default" is dead

2020-05-29 Thread Arine via Digitalmars-d-announce
On Friday, 29 May 2020 at 21:18:13 UTC, Walter Bright wrote: On 5/29/2020 2:07 AM, Timon Gehr wrote: It would be great if `@safe:` did not affect declarations that would otherwise infer annotations. The idea is the simple, general rule that: attribute declaration; attribute { declaration;

Re: DIP 1028 "Make @safe the Default" is dead

2020-05-29 Thread Adam D. Ruppe via Digitalmars-d-announce
On Friday, 29 May 2020 at 21:18:13 UTC, Walter Bright wrote: The idea is the simple, general rule that: There's already exceptions to that. public public void foo() {} is an error, whereas public: public void foo() {} is not. Having a simple, general rule with maybe a less favorable eff

Re: DIP 1028 "Make @safe the Default" is dead

2020-05-29 Thread Walter Bright via Digitalmars-d-announce
On 5/29/2020 2:07 AM, Timon Gehr wrote: It would be great if `@safe:` did not affect declarations that would otherwise infer annotations. The idea is the simple, general rule that: attribute declaration; attribute { declaration; } attribute: declaration; behave the same way. C++ is ful

Re: DIP 1028 "Make @safe the Default" is dead

2020-05-29 Thread Walter Bright via Digitalmars-d-announce
On 5/29/2020 7:22 AM, Paul Backus wrote: This is sad news. I was excited for @safe-by-default, and had hoped that the issue with extern(C) could be solved without throwing DIP 1028 away entirely. I watched a documentary on Clive Davis (famous recording executive) the other day. He would advise

Re: DIP 1028 "Make @safe the Default" is dead

2020-05-29 Thread neikeq via Digitalmars-d-announce
On Friday, 29 May 2020 at 04:53:07 UTC, Walter Bright wrote: The subject says it all. If you care about memory safety, I recommending adding `safe:` as the first line in all your project modules, and annotate individual functions otherwise as necessary. For modules with C declarations, do as

Re: DIP 1028 "Make @safe the Default" is dead

2020-05-29 Thread Johannes T via Digitalmars-d-announce
On Friday, 29 May 2020 at 04:53:07 UTC, Walter Bright wrote: The subject says it all. Thanks a lot for your effort! Judging by the responses, there should be another attempt after addressing some issues. I have an idea that could mitigate greenwashing of extern (I know everyone hates that ter

Re: DIP 1028 "Make @safe the Default" is dead

2020-05-29 Thread Faux Amis via Digitalmars-d-announce
On 2020-05-29 16:22, Paul Backus wrote: On Friday, 29 May 2020 at 04:53:07 UTC, Walter Bright wrote: The subject says it all. If you care about memory safety, I recommending adding `safe:` as the first line in all your project modules, and annotate individual functions otherwise as necessary.

Re: DIP 1028 "Make @safe the Default" is dead

2020-05-29 Thread Faux Amis via Digitalmars-d-announce
On 2020-05-29 16:13, SashaGreat wrote: On Friday, 29 May 2020 at 13:11:29 UTC, Andrei Alexandrescu wrote: ... Unrelated to this decision, I wanted to apologize for having lowered the quality of discourse in this forum. I think you should. To be honest first I thought it was a fake account, b

Re: DIP 1028 "Make @safe the Default" is dead

2020-05-29 Thread Bruce Carneal via Digitalmars-d-announce
On Friday, 29 May 2020 at 13:11:29 UTC, Andrei Alexandrescu wrote: On 5/29/20 12:53 AM, Walter Bright wrote: The subject says it all. If you care about memory safety, I recommending adding `safe:` as the first line in all your project modules, and annotate individual functions otherwise as ne

Re: DIP 1028 "Make @safe the Default" is dead

2020-05-29 Thread Paul Backus via Digitalmars-d-announce
On Friday, 29 May 2020 at 04:53:07 UTC, Walter Bright wrote: The subject says it all. If you care about memory safety, I recommending adding `safe:` as the first line in all your project modules, and annotate individual functions otherwise as necessary. For modules with C declarations, do as

Re: DIP 1028 "Make @safe the Default" is dead

2020-05-29 Thread SashaGreat via Digitalmars-d-announce
On Friday, 29 May 2020 at 13:11:29 UTC, Andrei Alexandrescu wrote: ... Unrelated to this decision, I wanted to apologize for having lowered the quality of discourse in this forum. I think you should. To be honest first I thought it was a fake account, because your behavior wasn't great (Techn

Re: DIP 1028 "Make @safe the Default" is dead

2020-05-29 Thread Andrei Alexandrescu via Digitalmars-d-announce
On 5/29/20 12:53 AM, Walter Bright wrote: The subject says it all. If you care about memory safety, I recommending adding `safe:` as the first line in all your project modules, and annotate individual functions otherwise as necessary. For modules with C declarations, do as you think best. F

Re: DIP 1028 "Make @safe the Default" is dead

2020-05-29 Thread Meta via Digitalmars-d-announce
On Friday, 29 May 2020 at 12:22:07 UTC, Steven Schveighoffer wrote: On 5/29/20 12:53 AM, Walter Bright wrote: The subject says it all. If you care about memory safety, I recommending adding `safe:` as the first line in all your project modules, and annotate individual functions otherwise as n

Re: DIP 1028 "Make @safe the Default" is dead

2020-05-29 Thread Steven Schveighoffer via Digitalmars-d-announce
On 5/29/20 12:53 AM, Walter Bright wrote: The subject says it all. If you care about memory safety, I recommending adding `safe:` as the first line in all your project modules, and annotate individual functions otherwise as necessary. For modules with C declarations, do as you think best. F

Re: DIP 1028 "Make @safe the Default" is dead

2020-05-29 Thread Douglas via Digitalmars-d-announce
On Friday, 29 May 2020 at 11:04:00 UTC, jmh530 wrote: On Friday, 29 May 2020 at 04:53:07 UTC, Walter Bright wrote: [...] Thank you Walter. I am sure this was not an easy decision, and I respect how you have handled the response. [...] I would think that Phobis maintainers would make good

Re: DIP 1028 "Make @safe the Default" is dead

2020-05-29 Thread jmh530 via Digitalmars-d-announce
On Friday, 29 May 2020 at 04:53:07 UTC, Walter Bright wrote: The subject says it all. If you care about memory safety, I recommending adding `safe:` as the first line in all your project modules, and annotate individual functions otherwise as necessary. For modules with C declarations, do as

Re: DIP 1028 "Make @safe the Default" is dead

2020-05-29 Thread Ali Çehreli via Digitalmars-d-announce
On 5/28/20 9:53 PM, Walter Bright wrote: The subject says it all. If you care about memory safety, I recommending adding `safe:` as the first line in all your project modules, and annotate individual functions otherwise as necessary. For modules with C declarations, do as you think best. Fo

Re: DIP 1028 "Make @safe the Default" is dead

2020-05-29 Thread solidstate1991 via Digitalmars-d-announce
On Friday, 29 May 2020 at 04:53:07 UTC, Walter Bright wrote: The subject says it all. If you care about memory safety, I recommending adding `safe:` as the first line in all your project modules, and annotate individual functions otherwise as necessary. For modules with C declarations, do as

Re: DIP 1028 "Make @safe the Default" is dead

2020-05-29 Thread rikki cattermole via Digitalmars-d-announce
Thank you Walter.

Re: DIP 1028 "Make @safe the Default" is dead

2020-05-29 Thread Timon Gehr via Digitalmars-d-announce
On 29.05.20 06:53, Walter Bright wrote: The subject says it all. Thanks! For the record, this would have been my preference: fix @safe, @safe by default > fix @safe, @system by default > don't fix @safe, @system by default > don't fix @safe, @safe by default While this retraction

Re: DIP 1028 "Make @safe the Default" is dead

2020-05-28 Thread Bruce Carneal via Digitalmars-d-announce
On Friday, 29 May 2020 at 05:08:44 UTC, Bruce Carneal wrote: On Friday, 29 May 2020 at 04:53:07 UTC, Walter Bright wrote: The subject says it all. If you care about memory safety, I recommending adding `safe:` as the first line in all your project modules, and annotate individual functions ot

Re: DIP 1028 "Make @safe the Default" is dead

2020-05-28 Thread tsbockman via Digitalmars-d-announce
On Friday, 29 May 2020 at 04:53:07 UTC, Walter Bright wrote: The subject says it all. If you care about memory safety, I recommending adding `safe:` as the first line in all your project modules, and annotate individual functions otherwise as necessary. For modules with C declarations, do as

Re: DIP 1028 "Make @safe the Default" is dead

2020-05-28 Thread Johannes Loher via Digitalmars-d-announce
Am 29.05.20 um 06:53 schrieb Walter Bright: > The subject says it all. > > If you care about memory safety, I recommending adding `safe:` as the > first line in all your project modules, and annotate individual > functions otherwise as necessary. For modules with C declarations, do as > you think

Re: DIP 1028 "Make @safe the Default" is dead

2020-05-28 Thread Mathias LANG via Digitalmars-d-announce
On Friday, 29 May 2020 at 04:53:07 UTC, Walter Bright wrote: The subject says it all. If you care about memory safety, I recommending adding `safe:` as the first line in all your project modules, and annotate individual functions otherwise as necessary. For modules with C declarations, do as

Re: DIP 1028 "Make @safe the Default" is dead

2020-05-28 Thread Bruce Carneal via Digitalmars-d-announce
On Friday, 29 May 2020 at 04:53:07 UTC, Walter Bright wrote: The subject says it all. If you care about memory safety, I recommending adding `safe:` as the first line in all your project modules, and annotate individual functions otherwise as necessary. For modules with C declarations, do as

DIP 1028 "Make @safe the Default" is dead

2020-05-28 Thread Walter Bright via Digitalmars-d-announce
The subject says it all. If you care about memory safety, I recommending adding `safe:` as the first line in all your project modules, and annotate individual functions otherwise as necessary. For modules with C declarations, do as you think best. For everyone else, carry on as before.