@@ -5,7 +5,7 @@ $(CHANGELOG_NAV_INJECT)
5
5
$(VERSION Mar 08, 2021, =================================================,
6
6
7
7
$(CHANGELOG_HEADER_STATISTICS
8
- $(VER) comes with 16 major changes and 70 fixed Bugzilla issues.
8
+ $(VER) comes with 17 major changes and 77 fixed Bugzilla issues.
9
9
A huge thanks goes to the
10
10
$(LINK2 #contributors, 53 contributors)
11
11
who made $(VER) possible.)
@@ -22,6 +22,7 @@ $(LI $(RELATIVE_LINK2 dtoh-improvements,Improvements for the C++ header generati
22
22
$(LI $(RELATIVE_LINK2 dwarf-switch,Add `-gdwarf=<version>` switch for the DMD compiler.))
23
23
$(LI $(RELATIVE_LINK2 getVisibility,Introduced `__traits(getVisibility, Sym)` as an alias to `getProtection`))
24
24
$(LI $(RELATIVE_LINK2 runtime-synchronized,Plain `synchronized` statements now use run-time allocated mutexes.))
25
+ $(LI $(RELATIVE_LINK2 shortfunctions,Allow shortened function implementations for single-expresssion functions.))
25
26
26
27
)
27
28
@@ -252,6 +253,23 @@ section lazily at run-time, moving all logic out of the compiler to druntime.
252
253
)
253
254
)
254
255
256
+ $(LI $(LNAME2 shortfunctions,Allow shortened function implementations for single-expresssion functions.)
257
+ $(CHANGELOG_SOURCE_FILE dmd, changelog/shortfunctions.dd)
258
+ $(P
259
+ `-preview=shortenedMethods` is added. This allows functions to be written in a similar form to lambda functions:
260
+ )
261
+
262
+ ---
263
+ // these 2 are equivalent
264
+ int foo() { return 1; }
265
+ int foo() => 1;
266
+ ---
267
+
268
+ $(P
269
+ The syntax allows the form `=> expr` to replace the function body `{ return expr; }`
270
+ )
271
+ )
272
+
255
273
256
274
)
257
275
@@ -355,13 +373,17 @@ $(CHANGELOG_SEP_TEXT_BUGZILLA)
355
373
356
374
$(BUGSTITLE_BUGZILLA DMD Compiler regression fixes,
357
375
376
+ $(LI $(BUGZILLA 20661): opEquals not recognized for AA key $(LPAREN)take two$(RPAREN))
377
+ $(LI $(BUGZILLA 21319): DMD crashes on immutable circular reference)
358
378
$(LI $(BUGZILLA 21547): Oder of constructor declaration affects struct initializer)
359
379
)
360
380
$(BUGSTITLE_BUGZILLA DMD Compiler bug fixes,
361
381
362
382
$(LI $(BUGZILLA 5713): Broken final switch on ints)
383
+ $(LI $(BUGZILLA 10619): Wrong local variable passed as alias arguments to templates)
363
384
$(LI $(BUGZILLA 11717): CTFE: non-constant value with array and vector ops.)
364
385
$(LI $(BUGZILLA 13667): ICE: stack overflow using self-referencing cast inside recursive alias this method)
386
+ $(LI $(BUGZILLA 14831): Each function local symbols should have unique mangled name)
365
387
$(LI $(BUGZILLA 15225): cannot overload directly aliased function literals)
366
388
$(LI $(BUGZILLA 16635): Alias this for implicit conversion to "ref const$(LPAREN)typeof$(LPAREN)this$(RPAREN)$(RPAREN)" causes dmd to segfault)
367
389
$(LI $(BUGZILLA 17105): [ICE] SIMD Internal error with optimizations: backend\cod3.c 6807)
@@ -398,6 +420,7 @@ $(LI $(BUGZILLA 21640): @live not working with templates)
398
420
$(LI $(BUGZILLA 21647): pragma$(LPAREN)msg$(RPAREN) should be able to print a void type)
399
421
$(LI $(BUGZILLA 21659): [OSX] core.stdc.config.__c_ulonglong is forward referenced while looking for sizeof)
400
422
$(LI $(BUGZILLA 21662): Extern linkage variables cannot be of types with disabled default construction)
423
+ $(LI $(BUGZILLA 21668): Cannot declare ref parameter of opaque type)
401
424
)
402
425
$(BUGSTITLE_BUGZILLA DMD Compiler enhancements,
403
426
@@ -408,6 +431,10 @@ $(LI $(BUGZILLA 20788): Difference between colored and non colored output)
408
431
$(LI $(BUGZILLA 21527): Unnecessary store to memory in SIMD code)
409
432
$(LI $(BUGZILLA 21593): Only update file time if file to be written already exists)
410
433
)
434
+ $(BUGSTITLE_BUGZILLA Phobos regression fixes,
435
+
436
+ $(LI $(BUGZILLA 21663): std.concurrency.receiveOnly doesn't work with tuples)
437
+ )
411
438
$(BUGSTITLE_BUGZILLA Phobos bug fixes,
412
439
413
440
$(LI $(BUGZILLA 13663): Comparison of Tuples with floating point fields)
@@ -435,6 +462,7 @@ $(LI $(BUGZILLA 21638): std.typecons.RefCounted!$(LPAREN)T, RefCountedAutoInitia
435
462
$(BUGSTITLE_BUGZILLA Druntime regression fixes,
436
463
437
464
$(LI $(BUGZILLA 21309): Missing core.thread.threadbase documentation)
465
+ $(LI $(BUGZILLA 21642): [REG 2.084] hashOf will fail to compile for some structs/unions that recursively contain shared enums)
438
466
)
439
467
$(BUGSTITLE_BUGZILLA Druntime bug fixes,
440
468
0 commit comments