digitalmars.D.announce - Release D 2.096.0
- Martin Nowak (9/9) Mar 13 2021 Glad to announce D 2.096.0, ♥ to the 54 contributors.
- Imperatorn (2/11) Mar 13 2021 Thanks everyone 🎉
- Meta (11/20) Mar 13 2021 Allow shortened function implementations for single-expresssion
- Jesse Phillips (4/10) Mar 13 2021 Yeah, c# added this syntax awhile back and is nice to use at
- starcanopy (3/15) Mar 13 2021 It's pretty neat, but a DIP has to be drafted and approved for it
- Max Haughton (4/22) Mar 13 2021 Correct. To be completely honest it shouldn't have ever been
- Meta (5/13) Mar 13 2021 I raised a similar concern before with something else (don't
- Imperatorn (5/19) Mar 14 2021 Yeah, iirc preview switches can be added without a DIP because
- starcanopy (9/33) Mar 14 2021 Given your status as a member of the Foundation, is there a
- Max Haughton (2/17) Mar 15 2021 I'm not sure. I will bring it up at the next foundation meeting.
- Adam D. Ruppe (5/10) Mar 15 2021 I wrote the implementation for that and I've made it clear that I
- Walter Bright (1/1) Mar 13 2021 Thank you, Martin!
- Guillaume Piolat (2/11) Mar 14 2021 Great!
- Mario =?UTF-8?B?S3LDtnBsaW4=?= (10/10) Apr 12 2021 The fix for Issue 21508 - _private class p in file p.d visible
Glad to announce D 2.096.0, ♥ to the 54 contributors. This release comes with improved ABI compatibility for complex types, clarified copy constructor and postblit interaction, optional libunwind based backtraces, runtime-allocated global synchronized mutexes, and a preview for shortened lambda-style function definitions. http://dlang.org/download.html http://dlang.org/changelog/2.096.0.html -Martin
Mar 13 2021
On Saturday, 13 March 2021 at 21:15:40 UTC, Martin Nowak wrote:Glad to announce D 2.096.0, ♥ to the 54 contributors. This release comes with improved ABI compatibility for complex types, clarified copy constructor and postblit interaction, optional libunwind based backtraces, runtime-allocated global synchronized mutexes, and a preview for shortened lambda-style function definitions. http://dlang.org/download.html http://dlang.org/changelog/2.096.0.html -MartinThanks everyone 🎉
Mar 13 2021
On Saturday, 13 March 2021 at 21:15:40 UTC, Martin Nowak wrote:Glad to announce D 2.096.0, ♥ to the 54 contributors. This release comes with improved ABI compatibility for complex types, clarified copy constructor and postblit interaction, optional libunwind based backtraces, runtime-allocated global synchronized mutexes, and a preview for shortened lambda-style function definitions. http://dlang.org/download.html http://dlang.org/changelog/2.096.0.html -MartinAllow shortened function implementations for single-expresssion functions. -preview=shortenedMethods is added. This allows functions to be written in a similar form to lambda functions: // these 2 are equivalent int foo() { return 1; } int foo() => 1; The syntax allows the form => expr to replace the function body { return expr; } Amazing! I had no idea this got in. I love the syntax.
Mar 13 2021
On Saturday, 13 March 2021 at 21:33:20 UTC, Meta wrote:// these 2 are equivalent int foo() { return 1; } int foo() => 1; The syntax allows the form => expr to replace the function body { return expr; } Amazing! I had no idea this got in. I love the syntax.times, usually because I stumble on the property syntax. https://www.google.com/amp/s/csharp.christiannagel.com/2017/01/25/expressionbodiedmembers/amp/
Mar 13 2021
On Saturday, 13 March 2021 at 21:33:20 UTC, Meta wrote:On Saturday, 13 March 2021 at 21:15:40 UTC, Martin Nowak wrote:It's pretty neat, but a DIP has to be drafted and approved for it to be enabled by default, right? (Unless I missed it.)[...]Allow shortened function implementations for single-expresssion functions. -preview=shortenedMethods is added. This allows functions to be written in a similar form to lambda functions: // these 2 are equivalent int foo() { return 1; } int foo() => 1; The syntax allows the form => expr to replace the function body { return expr; } Amazing! I had no idea this got in. I love the syntax.
Mar 13 2021
On Sunday, 14 March 2021 at 03:25:28 UTC, starcanopy wrote:On Saturday, 13 March 2021 at 21:33:20 UTC, Meta wrote:Correct. To be completely honest it shouldn't have ever been merged since there was no approval from WalTila and they steer the language.On Saturday, 13 March 2021 at 21:15:40 UTC, Martin Nowak wrote:It's pretty neat, but a DIP has to be drafted and approved for it to be enabled by default, right? (Unless I missed it.)[...]Allow shortened function implementations for single-expresssion functions. -preview=shortenedMethods is added. This allows functions to be written in a similar form to lambda functions: // these 2 are equivalent int foo() { return 1; } int foo() => 1; The syntax allows the form => expr to replace the function body { return expr; } Amazing! I had no idea this got in. I love the syntax.
Mar 13 2021
On Sunday, 14 March 2021 at 05:31:27 UTC, Max Haughton wrote:On Sunday, 14 March 2021 at 03:25:28 UTC, starcanopy wrote:I raised a similar concern before with something else (don't remember what it was), but apparently things can be merged without W&A's approval if they're behind a switch (in the opinion of at least some of the core maintainers, at least).On Saturday, 13 March 2021 at 21:33:20 UTC, Meta wrote: It's pretty neat, but a DIP has to be drafted and approved for it to be enabled by default, right? (Unless I missed it.)Correct. To be completely honest it shouldn't have ever been merged since there was no approval from WalTila and they steer the language.
Mar 13 2021
On Sunday, 14 March 2021 at 07:15:57 UTC, Meta wrote:On Sunday, 14 March 2021 at 05:31:27 UTC, Max Haughton wrote:Yeah, iirc preview switches can be added without a DIP because it's not a part of the language per se. It's probably a reasonable approach, because otherwise you would get a multitude of forks instead.On Sunday, 14 March 2021 at 03:25:28 UTC, starcanopy wrote:I raised a similar concern before with something else (don't remember what it was), but apparently things can be merged without W&A's approval if they're behind a switch (in the opinion of at least some of the core maintainers, at least).On Saturday, 13 March 2021 at 21:33:20 UTC, Meta wrote: It's pretty neat, but a DIP has to be drafted and approved for it to be enabled by default, right? (Unless I missed it.)Correct. To be completely honest it shouldn't have ever been merged since there was no approval from WalTila and they steer the language.
Mar 14 2021
On Sunday, 14 March 2021 at 05:31:27 UTC, Max Haughton wrote:On Sunday, 14 March 2021 at 03:25:28 UTC, starcanopy wrote:Given your status as a member of the Foundation, is there a plan/track of sorts to convert such a DIP-less -preview feature to a full-fledged one? I know it's a lot of work to write an improvement proposal, and deliberation with the community is a seemingly tiring (but necessary) ordeal, but I'm concerned that this feature will be in purgatory if its author becomes busy or forgets about it. (Barring another individual assuming proprietorship.)On Saturday, 13 March 2021 at 21:33:20 UTC, Meta wrote:Correct. To be completely honest it shouldn't have ever been merged since there was no approval from WalTila and they steer the language.On Saturday, 13 March 2021 at 21:15:40 UTC, Martin Nowak wrote:It's pretty neat, but a DIP has to be drafted and approved for it to be enabled by default, right? (Unless I missed it.)[...]Allow shortened function implementations for single-expresssion functions. -preview=shortenedMethods is added. This allows functions to be written in a similar form to lambda functions: // these 2 are equivalent int foo() { return 1; } int foo() => 1; The syntax allows the form => expr to replace the function body { return expr; } Amazing! I had no idea this got in. I love the syntax.
Mar 14 2021
On Sunday, 14 March 2021 at 18:25:51 UTC, starcanopy wrote:On Sunday, 14 March 2021 at 05:31:27 UTC, Max Haughton wrote:I'm not sure. I will bring it up at the next foundation meeting.On Sunday, 14 March 2021 at 03:25:28 UTC, starcanopy wrote:Given your status as a member of the Foundation, is there a plan/track of sorts to convert such a DIP-less -preview feature to a full-fledged one? I know it's a lot of work to write an improvement proposal, and deliberation with the community is a seemingly tiring (but necessary) ordeal, but I'm concerned that this feature will be in purgatory if its author becomes busy or forgets about it. (Barring another individual assuming proprietorship.)[...]Correct. To be completely honest it shouldn't have ever been merged since there was no approval from WalTila and they steer the language.
Mar 15 2021
On Sunday, 14 March 2021 at 18:25:51 UTC, starcanopy wrote:I wrote the implementation for that and I've made it clear that I have zero interest in going through the DIP process; I'm done with it as is. Someone else will have to do whatever else they decide to do.I'm concerned that this feature will be in purgatory if its author becomes busy or forgets about it. (Barring another individual assuming proprietorship.)int foo() { return 1; } int foo() => 1;
Mar 15 2021
On Saturday, 13 March 2021 at 21:15:40 UTC, Martin Nowak wrote:Glad to announce D 2.096.0, ♥ to the 54 contributors. This release comes with improved ABI compatibility for complex types, clarified copy constructor and postblit interaction, optional libunwind based backtraces, runtime-allocated global synchronized mutexes, and a preview for shortened lambda-style function definitions. http://dlang.org/download.html http://dlang.org/changelog/2.096.0.html -MartinGreat!
Mar 14 2021
The fix for Issue 21508 - _private class p in file p.d visible outside the file (module)_ removed a behavior that was (wrongly) used from time to time: ``` module Foo; class Foo {...} ``` The class `Foo` can no longer be imported with `import Foo;` This is a surprising breaking change. Perhaps it should be documented more explicitly.
Apr 12 2021