On Tuesday, 11 April 2023 at 13:32:53 UTC, Dmitry Olshansky wrote:
> On Tuesday, 11 April 2023 at 13:08:33 UTC, Adam D Ruppe wrote:
> On Tuesday, 11 April 2023 at 12:21:01 UTC, Dmitry Olshansky wrote:
> Interestingly enough if we simple disable semantic check for transitive qualifiers relegating them to pure annotations to be
I've actually thought about making a -betterD
switch that disables most the annotations, turning them to no-ops.
But your first sentence:
> Make no mistake - thread-local by default is great!
Gonna go ahead and disagree with that, the thread local by default I think is a mistake now. It causes as many problems as it solves.
If needed we may introduce __threadlocal, what should be the default is a question of compatibility with current D2.
With choose, for a new keyword, something very ugly?
I don't want to write ugly code, let that to C++ and Rust
tls by default is a huge mistake, i support adam's suggestion
Please, make good and simple syntax, anything that starts with __ is ugly
The only reason i personally use const
is to be able to pass things either by reference or to avoid GC allocation
void pass(const scope int[] a)
pass([1,2,3])
I see code in phobos that abuse everything, then abuse workaround
return () @trusted { return getAddressInfoImpl(node, service, &hints); }();
https://github.com/dlang/phobos/blob/01a12f919e624b3f7b73171ae03d4d0a91a0b87b/std/socket.d#L916-L943
OOP, bloatware, syntax-uglifier people designing stuff should be put to jail
If D3 or D1.5 every happen, hopefully that kind of stuff disappears, 0 compatibility with that code