forked from dlang/dlang.org
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathchangelog.dd
3189 lines (3028 loc) · 191 KB
/
changelog.dd
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
Ddoc
$(D_S D Change Log,
$(UPCOMING
$(LI Shared libraries for Linux)
)
$(VERSION 056, Sep 10, 2011, =================================================,
$(WHATSNEW
)
$(RUNTIMEBUGSFIXED
)
$(LIBBUGSFIXED
)
$(DMDBUGSFIXED
)
)
<div id=version>
$(UL
$(NEW 056)
$(NEW 055)
$(NEW 054)
$(NEW 053)
$(NEW 052)
$(NEW 051)
$(NEW 050)
$(NEW 049)
$(NEW 048)
$(NEW 047)
$(NEW 046)
$(NEW 045)
$(NEW 044)
$(NEW 043)
$(NEW 042)
$(NEW 041)
$(NEW 040)
$(NEW 039)
$(NEW 038)
$(NEW 037)
$(NEW 036)
$(NEW 035)
$(NEW 034)
$(NEW 033)
$(NEW 032)
$(NEW 031)
$(NEW 030)
$(NEW 029)
$(NEW 028)
$(NEW 027)
$(NEW 026)
$(NEW 025)
$(NEW 023)
$(NEW 022)
$(NEW 021)
$(NEW 020)
$(NEW 019)
$(NEW 018)
$(NEW 017)
$(NEW 016)
$(NEW 015)
$(NEW 014)
$(NEW 013)
$(NEW 012)
$(NEW 011)
$(NEW 010)
$(NEW 009)
$(NEW 008)
$(NEW 007)
$(NEW 006)
$(NEW 005)
$(NEW 004)
$(NEW 003)
$(NEW 002)
$(NEW 001)
$(NEW 000)
$(LI $(LINK2 http://www.digitalmars.com/d/1.0/changelog.html, changelog for 1.0))
$(LI Download latest D 2.0 alpha
<a HREF="http://ftp.digitalmars.com/dmd.2.040.zip" title="download D compiler">
D compiler</a> for Win32 and x86 linux)
$(LI $(LINK2 http://www.digitalmars.com/pnews/index.php?category=2, tech support))
)
</div>
$(VERSION 055, Sep 4, 2011, =================================================,
$(WHATSNEW
$(LI Added $(LINK2 http://www.digitalmars.com/ctg/dman.html, dman))
$(LI Add support for Mac OS X 10.7 Lion)
$(LI Add protection to json output)
$(LI Add SSE4.1 and SSE4.2 assembly instructions)
$(LI $(BUGZILLA 4375): Require explicit braces when 'else' is ambiguous)
$(LI std.algorithm.copy now specializes on arrays for 10-80x improved
performance.)
$(LI std.path has been rewritten from scratch and has a completely new API.)
$(LI std.utf.toUTFz allows you to get a zero-terminated string of any
character type and of any type of mutability.)
$(LI Added symlink and readLink to std.file for Posix systems.)
$(LI Values for GDC and LDC were added to std.compiler.Vendor.)
$(LI Added functions to std.bitswap for generically handling swapping
endianness.)
$(LI Added std.parallelism.TaskPool.workerIndex.)
$(LI Added buffer recycling overload of std.parallelism.asyncBuf)
$(LI std.math.tgamma, lgamma, erf, and erfc are now deprecated. The
equivalent functions in std.mathspecial should be used instead.)
$(LI The names of the values of std.mmfile.Mode, std.system.Endian,
std.traits.FunctionAttributes, std.traits.ParameterStorageClass,
and std.traits.Variadic were changed to match Phobos' naming conventions.)
$(LI std.range: Added indexed and chunks)
$(LI std.string.translate has been updated to work with unicode. As a
result, its signature has been changed. The old version and
std.string.maketrans have been scheduled for deprecation.)
$(LI std.string.tr has been updated so that it works with any string type.)
$(LI std.conv.parse works for associative array and static array)
$(LI std.format: Improvement of formatValue and unformatValue.
They now works for associative array, consider element escaping,
and treat range format spec more properly.)
$(LI std.complex: added sin(), cos(), sqrt())
$(LI md5: 1.4X speedup)
)
$(RUNTIMEBUGSFIXED
$(LI $(BUGZILLA 5967): Mangling of ArgClose for variadic function is swapped)
$(LI $(BUGZILLA 6493): Source code for the doc of core.time points to std.datetime.)
$(LI $(BUGZILLA 6466): core.demangle incorrect demangling of variables)
)
$(LIBBUGSFIXED
$(LI Unlisted bug: std.range.transversal should have length)
$(LI $(BUGZILLA 3890): Bad writeln of a nested struct)
$(LI $(BUGZILLA 4500): scoped moves class after calling the constructor)
$(LI $(BUGZILLA 4977): cannot use nothrow or pure with Rebindable)
$(LI $(BUGZILLA 5237): writefln doesn't respect Complex.toString)
$(LI $(BUGZILLA 5645): std.range.drop())
$(LI $(BUGZILLA 5825): write is calling a deprecated function)
$(LI $(BUGZILLA 6040): std.cpuid and core.cpuid return different values for some methods)
$(LI $(BUGZILLA 6064): std.array.join is unnecssarily slow for strings)
$(LI $(BUGZILLA 6194): [GSoC] Destructor gets called on object before it is copied when calling writeln())
$(LI $(BUGZILLA 6261): [2.054 beta regression] Regex cannot take a char[])
$(LI $(BUGZILLA 6301): Cannot 'zip'/'retro'/'stride' etc. a range having 'ulong' length.)
$(LI $(BUGZILLA 6377): std.conv.to should check range when changing signedness)
$(LI $(BUGZILLA 6424): std.traits.hasElaborateAssign is limited)
$(LI $(BUGZILLA 6448): writef("%05d", BigInt) problem)
$(LI $(BUGZILLA 6514): CTFE dot product)
$(LI $(BUGZILLA 6587): std.parallelism's Task cannot handle immutable values)
$(LI $(BUGZILLA 6606): RefCounted doesn't work with unions due to use of format)
$(LI $(BUGZILLA 6608): Tuple field is not escaped)
)
$(DMDBUGSFIXED
$(LI $(BUGZILLA 1471): Linker error on template function. Error 42: Symbol Undefined ...)
$(LI $(BUGZILLA 1567): call to private super-constructor should not be allowed)
$(LI $(BUGZILLA 1684): offsetof does not work, adding cast is workaround)
$(LI $(BUGZILLA 1904): wrong protection lookup for private template functions)
$(LI $(BUGZILLA 2156): [] and null should be accepted where a compile-time string is required)
$(LI $(BUGZILLA 2234): __traits(allMembers) returns incorrect results for mixin and template alias members of an aggregate)
$(LI $(BUGZILLA 2245): Bug with overloaded, mixin template functions in classes)
$(LI $(BUGZILLA 2246): Regression(2.046, 1.061): Specialization of template to template containing int arguments fails)
$(LI $(BUGZILLA 2540): super can not be using in alias statement)
$(LI $(BUGZILLA 2634): Function literals are non-constant.)
$(LI $(BUGZILLA 2355): is() doesn't resolve aliases before template matching)
$(LI $(BUGZILLA 2579): Template function accepting a delegate with in argument doesn't compile)
$(LI $(BUGZILLA 2774): Functions-as-properties makes it impossible to get the .mangleof a function)
$(LI $(BUGZILLA 2777): alias this doesn't forward __dollar and slice op.)
$(LI $(BUGZILLA 2781): alias this doesn't work with foreach)
$(LI $(BUGZILLA 2787): Members found in an 'alias this' are not implicitly accessible in methods)
$(LI $(BUGZILLA 2941): Wrong code for inline asm because CPU type is set too late)
$(LI $(BUGZILLA 3268): can't compare pointer to functions when one is const)
$(LI $(BUGZILLA 3273): Regression(2.031): struct invariant + dtor fails to compile (no line number))
$(LI $(BUGZILLA 3512): dchar iteration over string in CTFE fails)
$(LI $(BUGZILLA 3661): ^^ not supported in array operations.)
$(LI $(BUGZILLA 3797): Regression(2.038): Implicit conversion between incompatible function pointers)
$(LI $(BUGZILLA 4021): [CTFE] AA rehash)
$(LI $(BUGZILLA 4099): Inconsistent behaviour of ++/-- when mixing opUnary and 'alias this'.)
$(LI $(BUGZILLA 4444): Cannot index built-in array with expression tuple)
$(LI $(BUGZILLA 4460): Regression(2.036) ICE(e2ir.c) when compiling foreach over associative array literal)
$(LI $(BUGZILLA 4682): [CTFE] Run-time Vs Compile-time of int.min % -1)
$(LI $(BUGZILLA 4773): Rebindable should be castable to bool)
$(LI $(BUGZILLA 4837): ICE(constfold.c) CTFE with >>>=)
$(LI $(BUGZILLA 4984): Recursive template constraint results in dmd running out of memory)
$(LI $(BUGZILLA 5046): Wrong type of implicit 'this' in struct/class templates)
$(LI $(BUGZILLA 5081): Pure functions as initializers for immutable structures)
$(LI $(BUGZILLA 5188): alias this and compare expression generates wrong code)
$(LI $(BUGZILLA 5239): optimizer misreports an used before set error)
$(LI $(BUGZILLA 5373): Regression (2.051) CTFE and std.string.replace() causes "Bad binary function q{a == b}..)
$(LI $(BUGZILLA 5440): ICE(template.c): when struct AssociativeArray is missing from object.d)
$(LI $(BUGZILLA 5585): bad debug line number info for return statements with enumerator expressions)
$(LI $(BUGZILLA 5745): Missing error line number with lazy argument)
$(LI $(BUGZILLA 5750): Allow pure functions to have lazy arguments)
$(LI $(BUGZILLA 5777): Move semantics require full spec NRVO)
$(LI $(BUGZILLA 5785): Lexing or Parsing issue with UFCS)
$(LI $(BUGZILLA 5790): 'Error: variable result used before set' when -release -inline -O)
$(LI $(BUGZILLA 5799): Address-of operator fails on nested conditional operator expression)
$(LI $(BUGZILLA 5936): Regression(2.050): Segfault when forward-referencing pure auto-return member function with parameter.)
$(LI $(BUGZILLA 5953): Too many trailing commas are accepted)
$(LI $(BUGZILLA 6097): SSSE3 not working with MMX instructions)
$(LI $(BUGZILLA 6215): LLVM-compiled DMD segfaults due to mem.c alignment issues)
$(LI $(BUGZILLA 6220): Regression(2.053) static foreach over a string[] no longer produces directly usable strings)
$(LI $(BUGZILLA 6228): Regression(2.053) ICE(e2ir.c) on {auto x = (*ptr) ^^ y} with const integer types)
$(LI $(BUGZILLA 6230): Member functions can no longer be weakly pure)
$(LI $(BUGZILLA 6250): [CTFE] Crash when swapping two pointers to arrays.)
$(LI $(BUGZILLA 6265): Pure-inference failed when calling other pure functions)
$(LI $(BUGZILLA 6270): XMMREGS not preserved on indirect function call)
$(LI $(BUGZILLA 6276): [CTFE] Strange behavior of using ~= operator twice)
$(LI $(BUGZILLA 6280): [CTFE] Cannot put 'in' expression of AA in an 'if' condition)
$(LI $(BUGZILLA 6281): [CTFE] A null pointer '!is null' returns 'true'.)
$(LI $(BUGZILLA 6282): [CTFE] ICE when dereferencing a pointer to reference type from 'in' of an AA)
$(LI $(BUGZILLA 6283): [CTFE][Regression 2.054] Failed to assign to AA using a constness-changed array as key)
$(LI $(BUGZILLA 6284): [Regression 2.054] 'pure' does not work with 'with' statement)
$(LI $(BUGZILLA 6286): Regression(2.054): Static arrays can not be assigned from const(T)[N] to T[N])
$(LI $(BUGZILLA 6293): [Regression 2.054] The expression x.y makes the function impure when the 'x' part is not just a variable)
$(LI $(BUGZILLA 6295): [Regression 2.054] Segfault in checkPurity() of template value parameter)
$(LI $(BUGZILLA 6306): Regression(2.054): [CTFE] Strange behavior of indirect recursive call in CTFE)
$(LI $(BUGZILLA 6308): Destruction of temporaries on exception causes unhandled access violation)
$(LI $(BUGZILLA 6316): Regression(2.054): Class downcast is rejected in @safe code)
$(LI $(BUGZILLA 6317): ICE on struct literal of nested struct)
$(LI $(BUGZILLA 6331): [CTFE] Cannot evaluate SliceExp on if condition)
$(LI $(BUGZILLA 6337): [CTFE] ICE when touching member variable of struct during CTFE)
$(LI $(BUGZILLA 6344): [CTFE] Assertion Failure in interpret.c when create an empty slice from null pointer)
$(LI $(BUGZILLA 6351): Regression(2.054) Segfault: Vararg delegate as template param)
$(LI $(BUGZILLA 6355): Template constructor cannot initialize non-mutable field)
$(LI $(BUGZILLA 6366): alias this doesn't work with foreach range.front)
$(LI $(BUGZILLA 6369): alias this doesn't work with initializer)
$(LI $(BUGZILLA 6374): [CTFE] Cannot subscript using pointer to array)
$(LI $(BUGZILLA 6375): [CTFE] Segfault when using std.array.appender with an initial array)
$(LI $(BUGZILLA 6386): [CTFE] ICE on pointer casting)
$(LI $(BUGZILLA 6389): Segfault(dsymbol.c): deprecated @disable)
$(LI $(BUGZILLA 6399): [CTFE] struct member array.length -= x doesn't work, while array[0..$-x] works)
$(LI $(BUGZILLA 6404): Cannot check ref-ness of auto ref parameter in template constraint)
$(LI $(BUGZILLA 6418): [CTFE] Cannot call a struct member function with name 'length'.)
$(LI $(BUGZILLA 6420): [CTFE] ICE on dereference-assigning to a pointer casted from a literal )
$(LI $(BUGZILLA 6429): Nested function error in reduce)
$(LI $(BUGZILLA 6433): Meta-Bug AA type propagation)
$(LI $(BUGZILLA 6434): opDispatch must be considered before alias this.)
$(LI $(BUGZILLA 6491): Fully qualified values in default arguments of non-template functions are generated with an extra 'module' keyword)
$(LI $(BUGZILLA 6499): [GSoC] Destructor not called on object returned by method.)
$(LI $(BUGZILLA 6505): Wrong code for expression involving 8 floats, only with -O)
$(LI $(BUGZILLA 6508): alias this doesn't work with AssignExp rhs)
$(LI $(BUGZILLA 6510): [CTFE] "internal error: illegal stack value" when compiled with -inline)
$(LI $(BUGZILLA 6511): [CTFE] Array op gives wrong result)
$(LI $(BUGZILLA 6512): [CTFE] new T[][] doesn't work)
$(LI $(BUGZILLA 6516): Regression(2.055 beta) [CTFE] ICE(constfold.c) involving new dchar[])
$(LI $(BUGZILLA 6517): [CTFE] ptr++ doesn't work but ++ptr does)
$(LI $(BUGZILLA 6546): alias this + IdentityExpression doesn't work)
$(LI $(BUGZILLA 6556): ICE for ImportStatement in DebugStatement)
$(LI $(BUGZILLA 6558): [CTFE] UTF-decoding foreach gives wrong index (1-indexed))
$(LI $(BUGZILLA 6561): alias this + undefined symbol should cause error)
$(LI $(BUGZILLA 6563): wrong code when using at least 8 XMM regs)
$(LI $(BUGZILLA 6577): 'Cannot initialize member' error line number)
$(LI $(BUGZILLA 6601): Regression(2.053): CTFE segfault taking address of function template)
$(LI $(BUGZILLA 6602): Invalid template instantiations leake by is(typeof())/__traits(compiles, )/Type::trySemantic)
)
)
$(VERSION 054, Jul 10, 2011, =================================================,
$(WHATSNEW
$(LI Implement @safe)
$(LI Implement @property)
$(LI Automatic inference for @safe, pure, nothrow)
$(LI Allow labelled break and continue in CTFE)
$(LI Warn about switch case fallthrough)
$(LI Pointers are now supported in CTFE)
$(LI Heap-allocated structs are now supported in CTFE)
$(LI Added SSSE3 instructions to inline assembler)
$(LI Change from warning to deprecated: non-final switch statements must have a default statement)
$(LI Change from warning to deprecated: function is hidden by function)
$(LI Add warning about switch case fallthrough)
$(LI Add warning about calling pure nothrow functions and ignoring the result)
$(LI Allow associative arrays with key of type bool)
$(LI Added inference for purity and safety)
$(LI Change win32 dmd to not emit a map file unless asked for with -map)
$(LI Added $(B -property) switch)
$(LI $(BUGZILLA 5823): @property call syntax restriction not implemented)
$(LI Added core.sys.posix.netdb)
$(LI For functions which have a version which takes a core.time.Duration
and another version which takes an integral value, the version which
takes an integral value is now scheduled for deprecation.)
$(LI std.array.insertInPlace supports inserting of multiple ranges/elements in one go)
$(LI Added std.array.uninitializedArray and std.array.minimallyInitializedArray)
$(LI Various functions in std.string were renamed to match Phobos'
naming conventions and be properly camelcased. The old names
are still there but have been scheduled for deprecation.)
$(LI Various functions in std.uni were renamed so that they don't have
"Uni" in their name, since it was decided that it was not desirable to
repeat a module's name in its functions' names. The old names
are still there but have been scheduled for deprecation.)
$(LI std.ctype has been scheduled for deprecation. std.ascii has been
added to replace it.)
$(LI Major performance improvements for std.algorithm.sort)
$(LI std.string.atoi has been removed; replace it with std.conv.to!int)
)
$(RUNTIMEBUGSFIXED
$(LI $(BUGZILLA 4323): std.demangle incorrectly handles template floating point numbers)
$(LI $(BUGZILLA 5272): Postblit not called on copying due to array append)
$(LI $(BUGZILLA 5956): Undocumented mangling of struct value)
$(LI $(BUGZILLA 6135): Thread/GC interaction bug on OS X)
)
$(LIBBUGSFIXED
$(LI $(BUGZILLA 2108): regexp.d: The greedy dotstar isn't so greedy)
$(LI $(BUGZILLA 3136): Incorrect and strange behavior of std.regexp.RegExp if using a pattern with optional prefix and suffix longer than 1 char)
$(LI $(BUGZILLA 3457): rdmd fails silently in a particular setup where the compiler is not the expected)
$(LI $(BUGZILLA 3479): writef/writefln: positional precision not working)
$(LI $(BUGZILLA 3564): Rdmd failing to link external C libraries)
$(LI $(BUGZILLA 3752): File.byLine fetches lines in a confusing manner)
$(LI $(BUGZILLA 4367): std.regex: Captures is not a random access range)
$(LI $(BUGZILLA 4574): std.regex: breaks with empy string regex)
$(LI $(BUGZILLA 4608): std.string.chomp documentation mismatch implementation)
$(LI $(BUGZILLA 5019): In std.regex, empty capture at end of string causes error)
$(LI $(BUGZILLA 5059): String assignment in foreach loop breaks immutability)
$(LI $(BUGZILLA 5458): scope for function parameters is not documented)
$(LI $(BUGZILLA 5511): std.regex optional capture with no-match cause error)
$(LI $(BUGZILLA 5598): rdmd does not fail on invalid filename)
$(LI $(BUGZILLA 5673): Add lookahead and forgetful matching support std.regex)
$(LI $(BUGZILLA 5705): Swapping identical struct with hasElaborateAssign causes "overlapping array copy" exception)
$(LI $(BUGZILLA 5836): std.typetuple.staticIndexOf's example code missing %s in call to writefln)
$(LI $(BUGZILLA 5857): std.regex (...){n,m} is bogus when (...) contains repetitions)
$(LI $(BUGZILLA 5869): std.thread needs to be removed)
$(LI $(BUGZILLA 6026): DLL example needs update due to missing core.dll_helper)
$(LI $(BUGZILLA 6076): regression, std.regex: "c.*|d" matches "mm")
$(LI $(BUGZILLA 6101): Documentation for dead modules still distributed with DMD)
$(LI $(BUGZILLA 6113): singletons in std.datetime are not created early enough)
$(LI $(BUGZILLA 6193): Appender.clear() functionality or documentation)
)
$(DMDBUGSFIXED
$(LI $(BUGZILLA 693): 'this' can't be used as an alias parameter for a mixin)
$(LI $(BUGZILLA 1373): typeof(func).stringof fails when func has parameters.)
$(LI $(BUGZILLA 1411): ref Tuple should transform to Tuple of ref's)
$(LI $(BUGZILLA 1570): Wrong return for address operator)
$(LI $(BUGZILLA 2180): filename error with #line)
$(LI $(BUGZILLA 2521): Not possible to return immutable value by ref)
$(LI Temp destructors now called if exception is thrown)
$(LI $(BUGZILLA 2625): Creating new struct with literal bypasses immutability of members if struct is in array)
$(LI $(BUGZILLA 3147): Incorrect value range propagation for addition)
$(LI $(BUGZILLA 3359): Cannot parse pure/const/immutable functions with inferred return type)
$(LI $(BUGZILLA 3445): partial fix)
$(LI $(BUGZILLA 3511): ref return property confused with property setter)
$(LI $(BUGZILLA 3632): modify float is float to do a bitwise compare)
$(LI $(BUGZILLA 3688): Can't have declaration with assignment to const/immutable inside if condition)
$(LI $(BUGZILLA 3722): A method without an in contract should always succeed, even if overridden)
$(LI $(BUGZILLA 3799): isStaticFunction trait evaluates to true for non-static nested functions)
$(LI $(BUGZILLA 4031): Should be able to access const value-type globals from pure functions)
$(LI $(BUGZILLA 4040): const/immutable on the right in auto return class methods)
$(LI $(BUGZILLA 4063): [CTFE] key not found in AA gives bad error message)
$(LI $(BUGZILLA 4065): [CTFE] AA "in" operator doesn't work)
$(LI $(BUGZILLA 4107): Duplicate documentation for member function templates)
$(LI $(BUGZILLA 4132): pointer arithmetic accepted in @safe functions)
$(LI $(BUGZILLA 4170): Missing line number on compile-time array index)
$(LI $(BUGZILLA 4258): "auto ref" doesn't work in one or more cases)
$(LI $(BUGZILLA 4448): [CTFE] labeled break doesn't work in CTFE)
$(LI $(BUGZILLA 4494): ICE(cod1.c) Array literal filled with results of void function)
$(LI $(BUGZILLA 4633): typeof({return 1;}()) declaration fails if inside main)
$(LI $(BUGZILLA 4661): Array Literal Incompatible Type Error Msg Should Include Line Number)
$(LI $(BUGZILLA 4706): Overloading auto return w/ non-auto return = strange error msg)
$(LI $(BUGZILLA 4745): Non-uniform handling of commas in static initialization of structs)
$(LI $(BUGZILLA 4885): Uninitialize Pointers Allowed in @safe code)
$(LI $(BUGZILLA 4910): [CTFE] Cannot evaluate a function that has failed at once)
$(LI $(BUGZILLA 4963): ICE(type.c:320) for struct append where T.sizeof < 3)
$(LI $(BUGZILLA 4969): nothrow check can't handle multiple catches)
$(LI $(BUGZILLA 5088): Cannot cast const(int) to long in @safe function)
$(LI $(BUGZILLA 5258): [CTFE] Stack overflow with struct by ref)
$(LI $(BUGZILLA 5284): Array ops punch through const system)
$(LI $(BUGZILLA 5327): Creating new struct with literal bypasses immutability of members of members of the struct)
$(LI $(BUGZILLA 5396): [CTFE] Invalid code with nested functions in CTFE)
$(LI $(BUGZILLA 5415): @Safe functions not working)
$(LI $(BUGZILLA 5497): -- now produces error message instead of wrong code)
$(LI $(BUGZILLA 5551): opUnary-opBinary conflict)
$(LI $(BUGZILLA 5574): Struct destructor freaks out when an array of struct with single element is instantiated inside a class)
$(LI $(BUGZILLA 5615): [CTFE] std.string.indexOf broken at compile time)
$(LI $(BUGZILLA 5633): [CTFE] ICE(constfold.c): is expression with struct, struct pointer, array literal...)
$(LI $(BUGZILLA 5657): Temporary object destruction)
$(LI $(BUGZILLA 5659): Conditional operator, array literal, and std.traits.CommonType return a wrong common type)
$(LI $(BUGZILLA 5676): [CTFE] segfault using tuple containing struct that has opAssign)
$(LI $(BUGZILLA 5682): [CTFE] Silently wrong result possibly related to operator overloading and expression order)
$(LI $(BUGZILLA 5693): Segfault with address of template struct opCall)
$(LI $(BUGZILLA 5708): [CTFE] Incorrect string constant folding with -inline)
$(LI $(BUGZILLA 5771): Template constructor and auto ref do not work)
$(LI $(BUGZILLA 5819): DMD doesn't error/warn about illegal asm for 64bit mode)
$(LI $(BUGZILLA 5845): Regression(2.041) [CTFE] "stack overflow" with recursive ref argument)
$(LI $(BUGZILLA 5856): overloading on const doesn't work for operator overload)
$(LI $(BUGZILLA 5859): Declaration inside if condition doesn't call destructor)
$(LI $(BUGZILLA 5861): Wrong filename in error message when an invalid delegate in a template parameter is typeof()-ed)
$(LI $(BUGZILLA 5885): wrong codegen for OPu32_d)
$(LI $(BUGZILLA 5897): unrelated struct type casting should ignite construction)
$(LI $(BUGZILLA 5936): Invalid code with nested functions in CTFE)
$(LI $(BUGZILLA 5946): failing lookup 'this' from function in template)
$(LI $(BUGZILLA 5954): [CTFE] enum structs with ctor)
$(LI $(BUGZILLA 5959): Return by reference with nested function should be allowed)
$(LI $(BUGZILLA 5962): Template function declaration with prefixed storage class and auto occurs conflict)
$(LI $(BUGZILLA 5963): iasm does not accept 64bit integer literal)
$(LI $(BUGZILLA 6001): [CTFE] ICE(interpret.c) mutating ref array)
$(LI $(BUGZILLA 6015): [CTFE] Strange behavior of assignment appears in a situation)
$(LI $(BUGZILLA 6049): [CTFE] Array literals of structs with invariant() are wrong)
$(LI $(BUGZILLA 6052): [CTFE] Struct elements in an array are treated like reference type)
$(LI $(BUGZILLA 6053): [CTFE] Two ICEs involving pointers (dereference and assign; pointer variable on stack))
$(LI $(BUGZILLA 6054): [CTFE] ICE when returning a returned compile-time associative array containing a key of an idup-ed array literal)
$(LI $(BUGZILLA 6059): Incompatible types in array literal shows __error and error)
$(LI $(BUGZILLA 6072): [CTFE] Regression(git master): Cannot declare variable inside an 'if' condition)
$(LI $(BUGZILLA 6075): Cannot set value to associative array from a weakly-pure function when the value type has a (pure) opAssign)
$(LI $(BUGZILLA 6077): [CTFE] Cannot append null array to null array.)
$(LI $(BUGZILLA 6078): [CTFE] ICE on foreach over array struct member which is null)
$(LI $(BUGZILLA 6079): [CTFE] Array index out of bound detection is off-by-one)
$(LI $(BUGZILLA 6090): DDoc parenthesis escape issues.)
$(LI $(BUGZILLA 6100): [CTFE] Regression: struct return values wrong if used in array initializer)
$(LI $(BUGZILLA 6109): 'nothrow' does not check slice indices)
$(LI $(BUGZILLA 6111): Escaping reference to local variable not detected)
$(LI $(BUGZILLA 6119): Assertion failure: '0' on line 1118 in file 'glue.c')
$(LI $(BUGZILLA 6120): [CTFE] ICE on calling constructor of template struct with -inline in function/delegate literal.)
$(LI $(BUGZILLA 6123): [CTFE] Cannot call a template member method inside delegate/function literal with -inline.)
$(LI $(BUGZILLA 6137): [CTFE] Foreach on semantically wrong initialized array crashes the compiler)
$(LI $(BUGZILLA 6145): Meaningless second error message for complex size of static array)
$(LI $(BUGZILLA 6150): runnable/testsocket.d)
$(LI $(BUGZILLA 6158): winsamp and dhry samples need an update)
$(LI $(BUGZILLA 6161): iasm opcode family Jcc use absolute address instead of relative for functions)
$(LI $(BUGZILLA 6164): [CTFE] Local arrays in a recursive local function behave funny)
$(LI $(BUGZILLA 6198): [GSoC] ICE(e2ir.c) With circular import)
$(LI $(BUGZILLA 6229): %= and /= no longer work on char type)
$(LI $(BUGZILLA 6230): Member functions can no longer be weakly pure)
$(LI $(BUGZILLA 6234): 64-bit array append generates inline code to copy new data, but does not call postblit)
$(LI $(BUGZILLA 6241): test sdtor.d on osx not catching)
$(LI $(BUGZILLA 6242): Disallow inoperant "in" contracts)
$(LI $(BUGZILLA 6264): ICE on testing opSlice in static if)
$(LI $(BUGZILLA 6267): Can't increment alias this'd struct from ref return)
$(LI $(BUGZILLA 6279): Regression(2.054 beta): array-vararg with pointer type not working in safe code)
)
)
$(VERSION 053, May 12, 2011, =================================================,
$(WHATSNEW
$(LI Added 64 bit tools to Linux)
$(LI Added FreeBSD support)
$(LI Renamed linux/bin to linux/bin32, added linux/bin64)
$(LI osx/lib32 renamed back to osx/lib)
$(LI Added some gc benchmark apps)
$(LI Move std.intrinsic to core.intrinsic)
$(LI Implemented $(I exception chaining), as described in TDPL for Posix.)
$(LI Added $(CODE parent) to $(CODE __traits) for QtD support)
$(LI Allow impure code inside debug conditionals)
$(LI Added cmpxchg16b, 64 bit bswap and movq instructions to internal assembler)
$(LI Added bindings for libcurl: etc.c.curl)
$(LI Added std.net.isemail)
$(LI Added std.parallelism)
$(LI Added support for positional parameter intervals, e.g. %1:3$s
prints the first three parameters using the 's' format specifier)
$(LI Added findSplit, findSplitBefore, findSplitAfter to std.algorithm;
improved walkLength)
$(LI Improved online documentation for std.algorithm)
$(LI Added roundRobin, takeOne, and takeNone to std.range; improved
stride)
$(LI Added unsigned to std.traits)
$(LI Removed std.iterator. Use either std.range.ElementType or std.range.ElementEncodingType
depending on what you're trying to do.)
$(LI $(BUGZILLA 2656): Remove octal literals)
$(LI $(BUGZILLA 4097): Error: can only declare type aliases within static if conditionals)
$(LI $(BUGZILLA 4360): Allow intrinsics in core.bitop to operate as intrinsics)
$(LI $(BUGZILLA 4833): dmd -od doesn't make it to optlink's command line for map files)
)
$(RUNTIMEBUGSFIXED
$(LI $(BUGZILLA 5612): core.cpuid not implemented on 64)
$(LI $(BUGZILLA 1001): print stack trace (in debug mode) when program die)
$(LI $(BUGZILLA 5847): Threads started by core.thread should have same floating point state as main thread)
)
$(LIBBUGSFIXED
$(LI $(BUGZILLA 4644): assertExceptionThrown to assert that a particular exception was thrown)
$(LI $(BUGZILLA 4944): Missing tzname even though we have tzset)
$(LI $(BUGZILLA 5451): Three ideas for RedBlackTree)
$(LI $(BUGZILLA 5474): unaryFun byRef is borked for custom parameter name)
$(LI $(BUGZILLA 5485): TLS sections handled incorrectly in FreeBSD)
$(LI $(BUGZILLA 5616): std.datetime: not cross-platform)
$(LI $(BUGZILLA 5654): BigInt returns ZERO with strings of single digit number with leading zeros)
$(LI $(BUGZILLA 5661): std.algorithm.move does not work on elaborate struct)
$(LI $(BUGZILLA 5731): std.datetime.SysTime prints UTC offsets backwards)
$(LI $(BUGZILLA 5761): std.datetime: Date.this(int day) conversion fails for Dec 30 of leap years)
$(LI $(BUGZILLA 5780): [patch] std.traits.hasIndirections incorrectly handles static arrays)
$(LI $(BUGZILLA 5781): std.datetime: On Windows, times off by one hour in some years due to DST rule changes)
$(LI $(BUGZILLA 5794): std.datetime StopWatch (and perhaps benchmark) examples need a small fix)
$(LI $(BUGZILLA 5928): Bigint modulo problem -- critical wrong-code bug)
)
$(DMDBUGSFIXED
$(LI $(RED Note:) Although temporaries are destroyed now, they are not destroyed when
exceptions are thrown. This is scheduled to be fixed.)
$(LI $(BUGZILLA 2436): Unexpected OPTLINK termination EIP = 00425303 with /co)
$(LI $(BUGZILLA 3372): optlink silently mistreats object files with more than 16384 symbols)
$(LI $(BUGZILLA 4275): Unexpected optlink termination when 'export' attribute is missing)
$(LI $(BUGZILLA 4808): UNEXPECTED OPTLINK TERMINATION AT EIP=0042787B)
$(LI $(BUGZILLA 5670): Optlink 8.00.11 crash)
$(LI $(BUGZILLA 937): C-style variadic functions broken)
$(LI $(BUGZILLA 1330): Array slicing does not work the same way in CTFE as at runtime)
$(LI $(BUGZILLA 1336): Inconsistent __traits usage)
$(LI $(BUGZILLA 1389): Can't use mixin expressions when start of a statement.)
$(LI $(BUGZILLA 1880): templates instantiated with non-constants should fail sooner)
$(LI $(BUGZILLA 2257): Template value parameters behave like alias parameters)
$(LI $(BUGZILLA 2414): enum is dynamically evaluated, yum)
$(LI $(BUGZILLA 2526): non-const initializer to constant accepted inside template)
$(LI $(BUGZILLA 2706): invalid template instantiation (and declaration?) is not rejected)
$(LI $(BUGZILLA 2733): Unclear semantics of template value parameters)
$(LI $(BUGZILLA 2841): char[] incorrectly accepted as a template value argument in D2)
$(LI $(BUGZILLA 2850): bad codegen for struct static initializers)
$(LI $(BUGZILLA 2990): TypeInfo.init() returns invalid array)
$(LI $(BUGZILLA 3086): TypeInfo opEquals returns incorrect results)
$(LI $(BUGZILLA 3214): Incorrect DWARF line number debugging information on Linux)
$(LI $(BUGZILLA 3271): Struct initializers silently fail)
$(LI $(BUGZILLA 3516): Destructor not called on temporaries)
$(LI $(BUGZILLA 3792): Regression(1.053) "non-constant expression" for a template inside a struct using a struct initializer)
$(LI $(BUGZILLA 3779): ["123"][0][$-1] causes __dollar unresolved in compile-time)
$(LI $(BUGZILLA 3801): CTFE: this.arr[i] cannot be evaluated at compile time for structs)
$(LI $(BUGZILLA 3835): ref foreach does not work in CTFE)
$(LI $(BUGZILLA 4033): Error: base class is forward referenced)
$(LI $(BUGZILLA 4050): [CTFE] array struct member slice update)
$(LI $(BUGZILLA 4051): [CTFE] array struct member item update)
$(LI $(BUGZILLA 4097): Error: can only declare type aliases within static if conditionals)
$(LI $(BUGZILLA 4140): Error: non-constant expression "hello"[1u..__dollar])
$(LI $(BUGZILLA 4298): Constant array translated to unnecessary array literal creation)
$(LI $(BUGZILLA 4322): "void initializer has no value" on struct/union members initialized to "void")
$(LI $(BUGZILLA 4329): Do not show error messages that refer to __error)
$(LI $(BUGZILLA 4360): Allow intrinsics in core.bitop to operate as intrinsics)
$(LI $(BUGZILLA 4437): copy construction bug with "return this;")
$(LI $(BUGZILLA 4499): calls to @disabled postblit are emitted)
$(LI $(BUGZILLA 4543): Regression(1.054, 2.038) typedef causes circular definition and segfault)
$(LI $(BUGZILLA 4750): fail_compilation/fail225.d causes dmd to segv)
$(LI $(BUGZILLA 4815): CodeView: Global and Static symbols should have unmangled names)
$(LI $(BUGZILLA 4817): CodeView: Enum members should have simple names)
$(LI $(BUGZILLA 4833): dmd -od doesn't make it to optlink's command line for map files)
$(LI $(BUGZILLA 4917): Symbol conflict error message refers to aliased symbol instead of the alias)
$(LI $(BUGZILLA 5147): [CTFE] Return fixed-size matrix)
$(LI $(BUGZILLA 5268): Outdated windows GUI sample in Samples folder)
$(LI $(BUGZILLA 5362): checking $ in bracket is broken)
$(LI $(BUGZILLA 5482): Crash with align(0))
$(LI $(BUGZILLA 5485): TLS sections handled incorrectly)
$(LI $(BUGZILLA 5524): [CTFE] Trouble with typesafe variadic function)
$(LI $(BUGZILLA 5647): [64-bit] Valgrind complains about illegal instruction)
$(LI $(BUGZILLA 5649): std.conv.parse faulty for floating point with -O -m32)
$(LI $(BUGZILLA 5657): Temporary object destruction)
$(LI $(BUGZILLA 5664): Cannot compile static synchronized member function.)
$(LI $(BUGZILLA 5694): va_arg doesn't work with idouble and ifloat)
$(LI $(BUGZILLA 5671): CTFE string concat problem)
$(LI $(BUGZILLA 5672): ICE(cod2.c): incorrect optimization of (long &1) == 1)
$(LI $(BUGZILLA 5678): new enum struct re-allocated at compile time)
$(LI $(BUGZILLA 5694): va_arg doesn't work with idouble and ifloat)
$(LI $(BUGZILLA 5706): Incorrect opcode prefix generated for x86_64 inline assembly)
$(LI $(BUGZILLA 5708): Incorrect string constant folding with -inline)
$(LI $(BUGZILLA 5717): 1.067 regression: appending Unicode char to string broken)
$(LI $(BUGZILLA 5722): Regression(2.052): Appending code-unit from multi-unit code-point at compile-time gives wrong result)
$(LI $(BUGZILLA 5735): non-scalar types implicitly converted to boolean)
$(LI $(BUGZILLA 5740): Unable to use this pointer in inline assembly)
$(LI $(BUGZILLA 5741): Add the SYSCALL and SYSRET opcodes to the inline assembler)
$(LI $(BUGZILLA 5798): Weakly pure function calls skipped inside a comma expression)
$(LI $(BUGZILLA 5812): Added constant fold optimisations for ^^ expressions)
$(LI $(BUGZILLA 5840): Cannot assign to an array member of struct in CTFE)
$(LI $(BUGZILLA 5852): CTFE: wrong code for string[] ~= const(string))
$(LI $(BUGZILLA 5858): Import doesn't accept const string as argument)
$(LI $(BUGZILLA 5865): __dollar cannot be read at compile time)
$(LI $(BUGZILLA 5890): ICE and wrong scope problem for 2nd argument in static assert with DMD on git master)
$(LI $(BUGZILLA 5916): DMD: bad message for incorrect operands error)
$(LI $(BUGZILLA 5938): ICE ztc\symbol.c 1043)
$(LI $(BUGZILLA 5940): Cannot create arrays of std.algorithm.map)
$(LI $(BUGZILLA 5965): [2.053 beta] map rejects a predicate with anon-func and nested func)
$(LI $(BUGZILLA 5966): [2.053 beta][CTFE] Stack overflow on trivial func)
$(LI $(BUGZILLA 5972): CTFE: Can't assign to elements of arrays of slices)
$(LI $(BUGZILLA 5975): [2.053 beta][CTFE] ICE: 'global.errors' on line 1416 in file 'constfold.c')
$(LI $(BUGZILLA 5976): "variable used before set" with foreach with ref + scope(failure) + structure method + -O -inline)
$(LI $(BUGZILLA 5982): [2.053 beta] std.iterator gone, but no mention of the change)
$(LI $(BUGZILLA 5987): mydll sample doesn't compile)
$(LI Clarify tuple index out of bounds error message)
$(LI Add 64 version of xchg and jmp to inline assembler. Fixed 64 bit LEA)
$(LI CTFE: Generate error messages for accessing null arrays)
$(LI Fix optimizer bug with to!float("123e2"))
$(LI Fix spelling of $(CODE cmpxchgb8))
)
)
$(VERSION 052, Feb 17, 2011, =================================================,
$(WHATSNEW
$(LI 64 bit support for Linux)
$(LI Implemented $(I exception chaining), as described in TDPL. Currently Windows-only.)
$(LI std.random: Added Xorshift random generator)
$(LI Support HTML5 entities)
$(LI Added std.datetime for handling dates and times. std.date and std.gregorian
are now scheduled for deprecation. Any functions in other modules of Phobos
which used std.date.d_time have been changed to use std.datetime.SysTime or
are scheduled for deprecation with new functions with the same functionality
added which use SysTime (done in cases where switching existing functions to
use SysTime would have broken code). New code should use std.datetime instead
of std.date.)
$(LI Various functions in std.file were renamed to match Phobos' naming
conventions (e.g. isFile instead of isfile). The old names are aliased
and scheduled for deprecation.)
)
$(BUGSFIXED
$(LI $(BUGZILLA 190): Cannot forward reference typedef/alias in default value for function parameter)
$(LI $(BUGZILLA 1513): try/catch/finally misbehavior on windows)
$(LI $(BUGZILLA 1899): AA of fixed-length arrays fails to initialize)
$(LI $(BUGZILLA 1914): Array initialisation from const array yields memory trample)
$(LI $(BUGZILLA 2581): DDoc doesn't work for functions with auto return type.)
$(LI $(BUGZILLA 2810): Bogus forward reference error with auto function)
$(LI $(BUGZILLA 2874): phobos docs issues)
$(LI $(BUGZILLA 3198): wrong initializer for structs arrays)
$(LI $(BUGZILLA 3334): std.demangle doesn't parse ref, pure, nothrow)
$(LI $(BUGZILLA 3681): ICE(go.c): when function takes too long to optimize, only with -O.)
$(LI $(BUGZILLA 3848): functions in std.file don't take symbolic links into account)
$(LI $(BUGZILLA 4013): Inconsistent codeview debug info for classes derived from IUnknown)
$(LI $(BUGZILLA 4069): Issue 4069 - std.xml.Document.pretty saves empty elements with spaces and line breaks)
$(LI $(BUGZILLA 4245): Declaring conflicting symbols in single function scope allowed)
$(LI $(BUGZILLA 4307): spawn()'ed thread doesn't terminate)
$(LI $(BUGZILLA 4328): templated unittests fail to link when instantiated from other file if compiler order isn't correct)
$(LI $(BUGZILLA 4379): ICE(blockopt.c): foreach over huge tuple, only with -O)
$(LI $(BUGZILLA 4389): ICE(constfold.c, expression.c), or wrong code: string~=dchar in CTFE)
$(LI $(BUGZILLA 4486): CodeView debug info should contain absolute path names)
$(LI $(BUGZILLA 4598): std.xml check is too restrictive)
$(LI $(BUGZILLA 4601): Spawned threads frequently don't terminate or let other threads ever run if you spawn more than one thread)
$(LI $(BUGZILLA 4732): __traits(identifier) performs constant folding on symbols)
$(LI $(BUGZILLA 4753): fail_compilation/fail116.d sends dmd into a loop, exhausting memory)
$(LI $(BUGZILLA 4807): Examples for std.array insert and replace)
$(LI $(BUGZILLA 4852): core.demangle cannot demangle functions with class/struct return types)
$(LI $(BUGZILLA 4878): Ddoc: Default arguments can break Ddoc output)
$(LI $(BUGZILLA 4913): Implicit opCast!bool in if statement doesn't work with declarator)
$(LI $(BUGZILLA 4973): map file with spaces in file name passed without quotes to linker)
$(LI $(BUGZILLA 5025): ICE(cast.c) shared struct literal)
$(LI $(BUGZILLA 5090): ICE(todt.c) struct literal initializing zero length array)
$(LI $(BUGZILLA 5105): Member function template cannot be synchronized)
$(LI $(BUGZILLA 5197): Ddoc: access-attributed auto template function crashes dmd)
$(LI $(BUGZILLA 5198): Appender much slower when appending ranges of elements than individual elements)
$(LI $(BUGZILLA 5209): posix/sys/select.d: FD_ISSET function should return bool)
$(LI $(BUGZILLA 5221): entity.c: Merge Walter's list with Thomas')
$(LI $(BUGZILLA 5242): self referencing template constraint crashes compiler)
$(LI $(BUGZILLA 5244): PATCH: fix use of uninitialised variable in toObj.c)
$(LI $(BUGZILLA 5246): PATCH(s): fix a couple more uninitialised variables)
$(LI $(BUGZILLA 5248): CTFE Segfault when calling a function on an enum struct)
$(LI $(BUGZILLA 5271): Not constant RAND_MAX)
$(LI $(BUGZILLA 5320): gcstub/gc.d: SEGV because of missing returns)
$(LI $(BUGZILLA 5349): ICE(toir.c): nested class in static member function)
$(LI $(BUGZILLA 5365): Regression (2.051) implicit conversions via alias this are broken)
$(LI $(BUGZILLA 5381): Regression (2.051) switch fails for wstring and dstring)
$(LI $(BUGZILLA 5382): [regression 2.051] DLL multi-threading broken)
$(LI $(BUGZILLA 5391): Crash with recursive alias declaration)
$(LI $(BUGZILLA 5400): Add const to FD_ISSET)
$(LI $(BUGZILLA 5439): 64bit struct alignment inconsistent with C ABI)
$(LI $(BUGZILLA 5447): Should be illegal to throw a non-Throwable)
$(LI $(BUGZILLA 5455): ICE(cgcod.c): Optimization (register allocation?) regression in DMD 1.065)
$(LI $(BUGZILLA 5486): Missing define for running dmd as 64 bit)
$(LI $(BUGZILLA 5488): Spawned threads hang in a way that suggests allocation or gc issue)
$(LI $(BUGZILLA 5504): Regression(2.051): Template member functions of a shared class don't compile)
$(LI $(BUGZILLA 5534): [64-bit] Inexplicable segfault in small code snippet, -O -release -m64 only)
$(LI $(BUGZILLA 5536): Array append with dollar op on 64-bit)
$(LI $(BUGZILLA 5545): [64-bit] DMD fails to postincrement ubytes.)
$(LI $(BUGZILLA 5549): [64-bit] Internal error: backend/cgcod.c 1845)
$(LI $(BUGZILLA 5552): std.datetime.d DosFileTimeToSysTime has a bug)
$(LI $(BUGZILLA 5556): [64-bit] Wrong Implicit Conversion to Double)
$(LI $(BUGZILLA 5557): [64-Bit] FP (alignment?) issues with Rvalues)
$(LI $(BUGZILLA 5564): [64-bit] loading of wrong constant byte value)
$(LI $(BUGZILLA 5565): [64-bit] Wrong Floating Point Results, Related to Mixing With size_t)
$(LI $(BUGZILLA 5566): [64-bit] More erratic FP results with size_t)
$(LI $(BUGZILLA 5579): Segfault on first call to GC after starting new thread)
$(LI $(BUGZILLA 5580): [64-bit] String switch statements broken in 64-bit mode)
$(LI $(BUGZILLA 5581): [64-bit] Wrong code with bitwise operations on bools)
$(LI $(BUGZILLA 5592): Previous definition different: __arrayExpSliceMulSliceAddass_d)
$(LI $(BUGZILLA 5595): Compiler crash on heavy std.algorithm use)
)
)
$(VERSION 051, Dec 21, 2010, =================================================,
$(WHATSNEW
$(LI Added std.mathspecial, containing mathematical Special Functions)
$(LI std.base64: Replaced. Boost License, Performance improvement, Range support. Function signature changed from 'encode' to 'Base64.encode')
$(LI std.math: D implementation of pow. Almost all std.math functions are now @safe pure nothrow.
tgamma, lgamma, erf, erfc have been moved to std.mathspecial)
$(LI std.exception: Added pure and nothrow to assumeUnique)
$(LI std.utf: Removed UtfError class and toUTF* shortcut functions for validation. Added pure, nothrow, @safe and @trusted attributes. count function supports dchar)
$(LI Both druntime and phobos now build successfully with dmd -m64. Still somewhat behind dmd1, very little executes correctly still.)
)
$(BUGSFIXED
$(LI $(BUGZILLA 603): Undocumented behaviour: case and default create a scope)
$(LI $(BUGZILLA 632): Typedef/enum promotions spec ambiguous - ultimate base type or lowest common denominator?)
$(LI $(BUGZILLA 679): Spec needs allowances for copying garbage collection)
$(LI $(BUGZILLA 690): ABI not fully documented)
$(LI $(BUGZILLA 1351): Discrepancies in the language specification)
$(LI $(BUGZILLA 1466): Spec claims maximal munch technique always works: not for "1..3")
$(LI $(BUGZILLA 2080): ICE(mangle.c) alias corrupts type inference of static variables)
$(LI $(BUGZILLA 2206): unnamed template mixin of class inside function or class has incorrect classinfo and mangleof)
$(LI $(BUGZILLA 2385): spec says all structs are returned via hidden pointer on linux, but it uses registers)
$(LI $(BUGZILLA 2392): Parsing ambiguity between function pointer declaration and function call)
$(LI $(BUGZILLA 2406): Declarator2 definition error)
$(LI $(BUGZILLA 2556): Property classinfo needs better documentation (RTTI, typeof, typeid, runtime type information))
$(LI $(BUGZILLA 2616): Undocumented behaviour: part-explicit, part-implicit instantiations of function templates are accepted)
$(LI $(BUGZILLA 2651): class body declaration grammar incorrect)
$(LI $(BUGZILLA 2652): DeclDef grammar is wrong)
$(LI $(BUGZILLA 2734): Ambiguity in tokenizing: _._ as a float literal)
$(LI $(BUGZILLA 2751): const/invariant/immutable static arrays: const(T)[N] and const(T[N]) are the same, but DMD treats them as different)
$(LI $(BUGZILLA 2954): [tdpl] Appalling bug in associative arrays (D2 only))
$(LI $(BUGZILLA 2994): Incomplete "Predefined Versions" documentation)
$(LI $(BUGZILLA 3020): No description is given why function may not be nothrow)
$(LI $(BUGZILLA 3112): Specification on what operations call the GC is missing)
$(LI $(BUGZILLA 3276): Recursion broken by alias template parameter)
$(LI $(BUGZILLA 3554): Ddoc generates invalid output for documentation comments with non paired parantheses)
$(LI $(BUGZILLA 3864): Dyn array allocations can be allowed in nothrow functions)
$(LI $(BUGZILLA 4059): Incorrect C++ name mangling)
$(LI $(BUGZILLA 4217): Function overloads are not distinguished when instantiating templates)
$(LI $(BUGZILLA 4254): ICE(mtype.c): function with const inout parameter)
$(LI $(BUGZILLA 4297): Nothrow functions cannot use constant dynamic array)
$(LI $(BUGZILLA 4384): Cyclic dependency check for modules is broken)
$(LI $(BUGZILLA 4434): ICE(mtype.c, 887) alias with const, shared, or immutable)
$(LI $(BUGZILLA 4445): roundTo!ubyte(255.0) throws)
$(LI $(BUGZILLA 4529): Segfault(typinf.c) involving typeid(typeof(functionName)))
$(LI $(BUGZILLA 4638): Regression: new writeln does not recognize "wstring toString")
$(LI $(BUGZILLA 4728): Segfault(toctype.c) by protected/private constructor in an other module)
$(LI $(BUGZILLA 4781): Segfault(mtype.c) with forward referenced typeof and .init)
$(LI $(BUGZILLA 4864): ICE(statement.c) Crash on invalid 'if statement' body inside mixin)
$(LI $(BUGZILLA 4901): std.algorithm.sort does not compile for interfaces.)
$(LI $(BUGZILLA 4915): auto return type escapes function purity)
$(LI $(BUGZILLA 5020): Forward implicit bool conversions to alias this)
$(LI $(BUGZILLA 5053): Better error message for cyclic dependencies.)
$(LI $(BUGZILLA 5054): Splitter example doesn't work)
$(LI $(BUGZILLA 5094): No implicit conversion with "alias property this")
$(LI $(BUGZILLA 5107): Const-shared classes/structs not typed as shared)
$(LI $(BUGZILLA 5110): Excess attribute propagation of structs and classes)
$(LI $(BUGZILLA 5117): [CTFE] Member function call with rather complex this: side effects ignored)
$(LI $(BUGZILLA 5120): ICE(mtype.c) void associative arrays)
$(LI $(BUGZILLA 5131): Segfault(expression.c) opAssign and associative arrays (AA) are broken for types != this)
$(LI $(BUGZILLA 5133): dmd fails to build rdmd (problem with startsWith))
$(LI $(BUGZILLA 5145): Regression(2.050, 1.065) override error with forward ref of superclass)
$(LI $(BUGZILLA 5148): Incorrect C++ mangling of multiple const char* parameters)
$(LI $(BUGZILLA 5154): Class Range does not work in writeln)
$(LI $(BUGZILLA 5159): Segfault(interpret.c): calling a static function pointer variable in CTFE)
$(LI $(BUGZILLA 5163): meaningless error message with front() applied to void[].)
$(LI $(BUGZILLA 5164): Error without line number using "is (T...)")
$(LI $(BUGZILLA 5180): ICE(arrayop.c) in-place array operation on incompatible types)
$(LI $(BUGZILLA 5182): ICE(expression.c): calling unittest from a function)
$(LI $(BUGZILLA 5191): Combination of pure and nothrow result in a function that does nothing)
$(LI $(BUGZILLA 5194): ddoc does not show modifiers on constructors such as pure or nothrow)
$(LI $(BUGZILLA 5195): Forward references ignore const)
$(LI $(BUGZILLA 5214): Compiler crash with array of empty {})
$(LI $(BUGZILLA 5218): Can't implicitly convert from "abc"w to wchar[3])
$(LI $(BUGZILLA 5220): Make std.conv.ConvError an Exception instead of an Error; $(RED deprecated ConvError and ConvOverflowError) with ConvException and ConvOverflowException. Note that any code depending on the fact that these exceptions were Error gets broken.)
$(LI $(BUGZILLA 5230): Regression(2.041, 1.057) ICE(tocsym.c) overriding a method that has an out contract)
$(LI $(BUGZILLA 5238): PATCH: fix return of uninitialised var in interpret.c)
$(LI $(BUGZILLA 5247): std.utf.stride() should not return 0xFF)
$(LI $(BUGZILLA 5275): x86_64 related hidden function parameter mishandled)
$(LI $(BUGZILLA 5293): std.math: Error: shift by -48 is outside the range 0..32)
$(LI $(BUGZILLA 5294): -O optimization breaks for loop)
$(LI $(BUGZILLA 5321): std.math: assumes X86 or X86_64 on FPU control word code)
$(LI $(BUGZILLA 5322): std.math: version(Sparc) should be SPARC)
$(LI $(BUGZILLA 5330): Druntime/Phobos: remove special treatment for GDC)
$(LI $(BUGZILLA 5331): mach format problem)
$(LI $(BUGZILLA 5340): isOutputRange!(Appender!string, int) must be false)
$(LI $(BUGZILLA 5353): clear function is calling the destructor twice)
)
)
$(VERSION 050, Oct 29, 2010, =================================================,
$(WHATSNEW
$(LI added talign() and argTypes() to TypeInfo)
$(LI Upgrade zlib support to zlib 1.2.5)
$(LI std.stdio: Added ByChunk. This struct is a InputRange like ByLine. File.byChunk returns ByChunk)
$(LI std.traits: Most higher-order ranges now work with const/immutable arrays and other ranges
with a natural tail const, and ranges w/ const/immutable elements.)
$(LI $(BUGZILLA 4888): Heavy reliance on Bug 3534 in Phobos range usage)
$(LI $(BUGZILLA 4987): C function pointer syntax needs to be deprecated)
$(LI std.typecons: Several improvements to the Tuple struct template:
$(UL $(LI Tuple members are now accessible with the syntax a[0], a[1] etc.)
$(LI Eliminated an internal union. See $(BUGZILLA 4421) and $(BUGZILLA 4846).)
$(LI Worked around $(BUGZILLA 4424). Got opAssign back.)
$(LI Made Tuple.slice!(from, to) to preserve field names if any.)
$(LI Added isTuple!(T) template.)
))
$(LI std.algorithm: changed filter() such that filter is curryable)
$(LI std.algorithm: Added function balancedParens)
$(LI std.typecons: Deprecated defineEnum)
$(LI Added relaxed purity checking rules.)
)
$(BUGSFIXED
$(LI Unlisted bug: std.exception.pointsTo() calls postblit on subobjects.)
$(LI Unlisted bug: std.typetuple.staticMap!() doesn't work with empty/single tuples.)
$(LI Unlisted bug: std.traits: Interfaces should have indirections, aliasing, etc.)
$(LI Unlisted bug: std.socket: Race condition - gethostbyname and gethostbyaddr on Linux return static data. The call was synchronized, but using the data wasn't)
$(LI Unlisted bug: signed long comparisons under OS X)
$(LI $(BUGZILLA 941): std.regexp fails to match when grouping certain sub-expressions)
$(LI $(BUGZILLA 1482): std.file docs are insufficient)
$(LI $(BUGZILLA 1635): DirEntry.isfile() and DirEntry.isdir() broken)
$(LI $(BUGZILLA 1733): parse() function does not handle all build-in types)
$(LI $(BUGZILLA 2073): Variant.coerce!() fails)
$(LI $(BUGZILLA 2142): getopt() incorrectly processes bundled command-line options)
$(LI $(BUGZILLA 2310): Inconsistent formatting of arrays in std.stdio.write() and std.conv.to!(string)())
$(LI $(BUGZILLA 2424): std.functional binaryRevertArgs : "revert" should be "reverse")
$(LI $(BUGZILLA 2451): Adding structs that use opAssign or postblit to an AA is broken)
$(LI $(BUGZILLA 2655): Allow alternation patterns in std.path.fnmatch)
$(LI $(BUGZILLA 2669): Variant does not have opApply or another iteration mechanism)
$(LI $(BUGZILLA 2718): Inconsistent string parameters in Phobos functions)
$(LI $(BUGZILLA 2838): std.file.rmdirRecurse fails)
$(LI $(BUGZILLA 2930): Problems in std.range documentation)
$(LI $(BUGZILLA 2943): Struct copying in presence of alias member this only copies alias this member)
$(LI $(BUGZILLA 2965): std.date: timezone not initialized)
$(LI $(BUGZILLA 3157): [patch] Pipes should be closed with pclose)
$(LI $(BUGZILLA 3318): [PATCH]Rebindable.get is not accessible)
$(LI $(BUGZILLA 3570): mkdirRecurse throws exception on trailing empty directory.)
$(LI $(BUGZILLA 3602): ICE(tocsym.c) compiling a class, if its super class has preconditions)
$(LI $(BUGZILLA 3665): Regression(1.051, 2.036) Assignment with array slicing does not work)
$(LI $(BUGZILLA 4344): Sockets with multiple threads report missing/failed WSAStartup)
$(LI $(BUGZILLA 4398): dmd always uses Windows name mangling for _d_throw)
$(LI $(BUGZILLA 4439): The declaration of the in6addr_* in druntime is wrong.)
$(LI $(BUGZILLA 4465): ICE(symbol.c): immutable type inference with ^^2)
$(LI $(BUGZILLA 4524): Regression(2.026) Bus error with nested struct)
$(LI $(BUGZILLA 4623): Non-integer type allowed as static array size)
$(LI $(BUGZILLA 4634): typo in levenshteinDistanceAndPath documentation)
$(LI $(BUGZILLA 4641): Associative arrays of structs with alias this broken.)
$(LI $(BUGZILLA 4742): int % BigInt should work.)
$(LI $(BUGZILLA 4775): No substitution on writef("%%%s", "hi").)
$(LI $(BUGZILLA 4825): Regression(1.057, 2.040) "Error: non-constant expression" with -inline)
$(LI $(BUGZILLA 4866): Static-to-dynamic converted manifest constant array gets non-converted type in static/constraint if)
$(LI $(BUGZILLA 4869): auto return + inheritance + modules = compiler crashes(toctype.c))
$(LI $(BUGZILLA 4873): Assertion failure: '0' on line 1483 in file 'expression.c')
$(LI $(BUGZILLA 4882): std.traits hasUnsharedAliasing does not work for function type.)
$(LI $(BUGZILLA 4897): CodeView: No locals or parameters are shown when debugging, because of missing function info)
$(LI $(BUGZILLA 4890): GC.collect() deadlocks multithreaded program.)
$(LI $(BUGZILLA 4925): [ICE] segfault with module-scope assert(0))
$(LI $(BUGZILLA 4926): ICE: PREC_zero assertion failure due to unset precedence)
$(LI $(BUGZILLA 4938): Regression(2.047) dmd segfault when compiling)
$(LI $(BUGZILLA 4941): Built-in tuple slice boundaries are not CTFE'd)
$(LI $(BUGZILLA 4949): ICE on invalid static if using value of 'this')
$(LI $(BUGZILLA 4951): InternetAddress fails to resolve host when multithreading.)
$(LI $(BUGZILLA 4959): std.conv.parse error "no digits seen" on string starting with zero.)
$(LI $(BUGZILLA 4992): ICE(glue.c) or segfault: using int[new])
$(LI $(BUGZILLA 5003): regex(replace with delegate) sample doesn't work.)
$(LI $(BUGZILLA 5026): ICE(expression.c) Incomplete mixin expression + char[] to char assignment)
$(LI $(BUGZILLA 5049): std.algortihm.bringToFront() returns wrong value.)
$(LI $(BUGZILLA 5052): take!(Take!R) should return Take!R, not Take!(Take!R).)
$(LI $(BUGZILLA 5071): passing value by ref to a function with an inner dynamic closure results in a wrong code)
)
)
$(VERSION 049, Sep 13, 2010, =================================================,
$(WHATSNEW
$(LI std.algorithm: reduce now works with non-range-based iteration, such as opApply.)
$(LI std.numeric: Added FFT.)
$(LI std.path: Changed sep, altsep etc. to manifest constants (enum).)
$(LI std.process: Added environment, an AA-like interface for environment variables.)
$(LI std.range: Iota, Stride, Transversal, FrontTransveral now support slicing where possible.)
$(LI std.range: Added support for moveFront() and assignable elements in several higher-order ranges.)
$(LI std.range: Added Lockstep, hasLvalueElements.)
$(LI std.range: Added virtual function-based wrappers (InputRangeObject, OutputRangeObject) for when a binary interface to a range is required.)
$(LI std.typecons: Added convenience functions for Rebindable.)
$(LI std.traits: Added isAssignable, isIterable, ForeachType, isSafe, isUnsafe, EnumMembers.)
$(LI std.traits: hasLocalAliasing, hasLocalObjects and hasLocalRawAliasing are now hasUnsharedAliasing, hasUnsharedObjects and hasUnsharedRawAliasing. Aliases to the old names are included for now for backwards compatibility.)
$(LI std.typetuple: Added anySatisfy.)
$(LI std.array: Modified Appender's interface to fix memory issues.
Note that appending via $(TT ~=) and using appender on the same array
will not interleave anymore.)
$(LI $(BUGZILLA 2477): Trailing comma in array literal sometimes accepted, sometimes not)
)
$(BUGSFIXED
$(LI Andrej Mitrovic updated the samples/d code)
$(LI Unlisted Bug: std.math.pow doesn't work on immutable numbers.)
$(LI Unlisted Bug: std.math.pow floating point overload expects both arguments to be exact same type.)
$(LI Unlisted Bug: std.path.join("", "foo") returns "/foo" instead of "foo" on Posix.)
$(LI Unlisted Bug: std.range.iota() random access primitives inconsistent after popFront on floating point version)
$(LI Unlisted Bug: std.algorithm.findAdjacent() [...])
$(LIX $(BUGZILLA 190): Cannot forward reference typedef/alias in default value for function parameter)
$(LI $(BUGZILLA 1715): Template specialization checks for equality rather than convertibility)
$(LI $(BUGZILLA 1970): Templated interfaces not matched)
$(LI $(BUGZILLA 2511): Covariant return type doesn't work with circular import)
$(LI $(BUGZILLA 2716): Confusion of auto and scope as the class attribute)
$(LI $(BUGZILLA 2903): Splitter should be bi-dir if the input range is bi-dir.)
$(LI $(BUGZILLA 2951): std.random.dice() should be templated on proportions.)
$(LI $(BUGZILLA 2958): std.getopt RangeError on missing arg)
$(LI $(BUGZILLA 3046): Segfault with C++ static variable (Linux only))
$(LI $(BUGZILLA 3123): std.algorithm.zip fails on 'lazy' ranges)
$(LI $(BUGZILLA 3294): forward reference to inferred return type of function call)
$(LI $(BUGZILLA 3312): std.string.count should use const(char)[], not immutable.)
$(LI $(BUGZILLA 3348): Documentation for many std.process functions has disappeared)
$(LI $(BUGZILLA 3361): code in std.zlib concatenates void[] arrays )
$(LI $(BUGZILLA 3418): link error with cast(ulong)(ulong*real))
$(LI $(BUGZILLA 3544): optlink termination 0041338f with recursive nested functions)
$(LI $(BUGZILLA 3554): Ddoc generats invalid output for documentation comments with non paired paranthasis)
$(LI $(BUGZILLA 3627): -of with a filename with a double extension confuses linker)
$(LI $(BUGZILLA 3877): std.range.chain do not manage infinite ranges correctly)
$(LI $(BUGZILLA 3894): std.range.Stride!R requires R.front() and R.back() to return by reference)
$(LI $(BUGZILLA 3935): opBinary is instantiated with "=")
$(LI $(BUGZILLA 3946): schwartzSort - SwapStrategy always unstable)
$(LIX $(BUGZILLA 3979): Order-of-compilation and forward reference errors)
$(LI $(BUGZILLA 3996): Regression(2.041) ICE(glue.c) Passing struct as AA template parameter (Algebraic with struct))
$(LI $(BUGZILLA 4009): OPTLINK ruins the day yet again)
$(LI $(BUGZILLA 4173): Regression(2.037) Explicitly instantiated templates still try to do IFTI in some cases)
$(LI $(BUGZILLA 4177): __ctfe can't be used in pure functions)
$(LI $(BUGZILLA 4278): allow inlining of super calls (undo limitations of bug3500's fix))
$(LI $(BUGZILLA 4291): Pure functions cannot access mixed in variables)
$(LI $(BUGZILLA 4292): CommonType fails for singular alias value.)
$(LI $(BUGZILLA 4302): Regression(2.046, 1.061): compiler errors using startsWith in CTFE)
$(LI $(BUGZILLA 4345): std.range.take!string: "Nonsensical finite range with slicing but no length".)
$(LI $(BUGZILLA 4346): More flexible std.array.array.)
$(LI $(BUGZILLA 4363): Some phobos ranges are not forward ranges (but should be).)
$(LI $(BUGZILLA 4381): Length attribute for std.typecons.Tuple.)
$(LI $(BUGZILLA 4387): std.range.Cycle assumes lvalue elements.)
$(LI $(BUGZILLA 4388): std.range.Radial assumes lvalue elements.)
$(LI $(BUGZILLA 4402): std.range.Zip doesn't work w/ non-lvalue ranges.)
$(LI $(BUGZILLA 4403): std.range.FrontTransversal assumes lvalue elements.)
$(LI $(BUGZILLA 4404): std.range.Transversal assumes lvalue elements.)
$(LI $(BUGZILLA 4408): Ambiguity when using std.algorithm.splitter with generic ranges.)
$(LI $(BUGZILLA 4430): Regression(2.037) erroneous matching on specialized template function)
$(LI $(BUGZILLA 4455): Taking the sqrt of an integer shouldn't require an explicit cast.)
$(LI $(BUGZILLA 4464): std.range.take does not always return Take!R.)
$(LI $(BUGZILLA 4518): to!string(enum w/invalid value) produces a somewhat unhelpful error)
$(LI $(BUGZILLA 4564): ICE on undefined variable in foreach over 0 .. undef)
$(LI $(BUGZILLA 4603): array(iota(1, 0)) error.)
$(LI $(BUGZILLA 4643): Shared values are unwritable.)
$(LI $(BUGZILLA 4645): to!string(const char*) in library causes Optlink to issue warning)
$(LI $(BUGZILLA 4652): Compiler hangs on template with zero-length tuple and another argument)
$(LI $(BUGZILLA 4655): Regression(1.063, 2.048) goto to a try block ICEs)
$(LI $(BUGZILLA 4676): Overload resolution rejects valid code when mixing variadics, non-variadics)
$(LI $(BUGZILLA 4681): Appender access violation)
$(LI $(BUGZILLA 4691): Incorrect comparison of double and long)
$(LI $(BUGZILLA 4700): to!float("0") fails)
$(LI $(BUGZILLA 4721): compilation slow when compiling unittests on dcollections)
$(LI $(BUGZILLA 4748): Shadowing declaration error in std.string.tolower)
$(LI $(BUGZILLA 4751): Regression(1.062, 2.047) ICE(constfold.c) >> after error)
$(LI $(BUGZILLA 4752): fail_compilation/fail345.d asserts in expression.c)
$(LI $(BUGZILLA 4771): fail_compilation/fail274.d hits a halt in iasm.c)
$(LI $(BUGZILLA 4789): std.algorithm.sort bug)
$(LI $(BUGZILLA 4810): dotProduct problem with ints)
$(LI $(BUGZILLA 4826): Regression(2.041) "cannot create associative array" and compiler crash)
$(LI $(BUGZILLA 4828): ICE w/ non-boolean dot expression sth.template_instance in static if)
$(LI $(BUGZILLA 4834): Implicit sharing via delegates in std.concurrency)
)
)
$(VERSION 048, Aug 8, 2010, =================================================,
$(WHATSNEW
$(LI std.complex: New Complex.toString() syntax.)
$(LI std.string: icmp() now works with all built-in string types.)
$(LI $(BUGZILLA 4077): Bugs caused by bitwise operator precedence)
$(LI $(BUGZILLA 4080): Patch for building dynamic libraries on Mac OS X)
)
$(BUGSFIXED
$(LI Unlisted Bug: std.algorithm.filter not a forward range)
$(LI Unlisted Bug: std.algorithm.Uniq requires a bidirectional range)
$(LI Unlisted Bug: std.algorithm.Uniq missing a save() function)
$(LI Unlisted Bug: std.algorithm.Group missing a save() function)
$(LI Unlisted Bug: std.traits.isAssociativeArray reports true for structs w/ keys, values properties)
$(LI Unlisted Bug: gc_query returns 0 for attr when called on interior pointers)
$(LI $(NG_digitalmars_D 112964): capacity can return a value < length)
$(LI $(BUGZILLA 978): std.utf's toUTF* functions accept some invalid and reject some valid UTF)
$(LI $(BUGZILLA 996): Error in doc on implicit conversion between pointer and array)
$(LI $(BUGZILLA 1418): tupleof bug on nested classes)
$(LI $(BUGZILLA 1678): ref with varargs generates invalid code)
$(LI $(BUGZILLA 2275): std.utf.toUTF16z() should return const(wchar)*)
$(LI $(BUGZILLA 2627): std.traits.hasAliasing reports true for static arrays)
$(LI $(BUGZILLA 2872): Length, opIndex for Map)
$(LI $(BUGZILLA 2931): Initialization struct with array from another struct)
$(LI $(BUGZILLA 3202): std.math.pow cause dead loop)
$(LI $(BUGZILLA 3326): $ in delegate literal causes Access Violation)
$(LI $(BUGZILLA 3355): std.string.cmp works incorrectly for mixed-type and different-length strings)
$(LI $(BUGZILLA 3386): to!bool(string) is not implemented)
$(LI $(BUGZILLA 3436): std.functional.compose with only one function)
$(LI $(BUGZILLA 3439): std.range.Sequence.opIndex not consistent after calling popFront().)
$(LI $(BUGZILLA 3447): std.file uses unconventional file permissions)
$(LI $(BUGZILLA 3528): FreeBSD patches for druntime.)
$(LI $(BUGZILLA 3560): foreach over nested function generates wrong code)
$(LI $(BUGZILLA 3569): DMD Stack Overflow with a struct member function inside a C-style struct initializer)
$(LI $(BUGZILLA 3604): extern(C) callable function with array parameters broken)
$(LI $(BUGZILLA 3679): Regression(2.031) template forward reference regression)
$(LI $(BUGZILLA 3706): delegates of interfaces with multiple inheritance fail)
$(LI $(BUGZILLA 3716): Regression (2.037) with multi dimensional array literals)
$(LI $(BUGZILLA 3782): The POSIX sys/un.h header)
$(LI $(BUGZILLA 3853): core.sys.posix.stdio.pclose is missing)
$(LI $(BUGZILLA 3872): std.algorithm.filter could become bidirectional if its input range is bidir)
$(LI $(BUGZILLA 3874): std.range.stride assumes a bidirectional input range)
$(LI $(BUGZILLA 3917): opEquals for Ojbect could be more efficient)
$(LI $(BUGZILLA 3937): os.path.dirname fails on absolute path)
$(LI $(BUGZILLA 3961): Error with to!(somestruct))
$(LI $(BUGZILLA 3983): Regression(2.037): struct with == can't be member of struct with template opEquals)
$(LI $(BUGZILLA 4109): (reopened) writeln doesn't work with empty static array)
$(LI $(BUGZILLA 4171): std.random.uniform does not work for a range of characters)
$(LI $(BUGZILLA 4191): [FreeBSD] real constants are rounded to double precision)
$(LI $(BUGZILLA 4198): [FreeBSD] imprecision in decimal floating-point literals)
$(LI $(BUGZILLA 4238): Segfault(statement.c): with(typeof(int)))
$(LI $(BUGZILLA 4260): windows & basename)
$(LI $(BUGZILLA 4267): forward reference error when 2-fold aliasing a template instance)
$(LI $(BUGZILLA 4303): __traits(compiles) returns wrong result when used recursively)
$(LI $(BUGZILLA 4305): Take, Chain on top of ranges w/o moveFront() )
$(LI $(BUGZILLA 4307): spawn()'ed thread doesn't terminate)
$(LI $(BUGZILLA 4314): Regression(1.062): Expression array1 && array2 doesn't compile)
$(LI $(BUGZILLA 4327): std.container.Array.Range.~this() tries to call free(T[]))
$(LI $(BUGZILLA 4339): Struct destructor + invariant + struct parameter = horrific error message)
$(LI $(BUGZILLA 4356): Copy constructor not called under extremely mysterious circumstances)
$(LI $(BUGZILLA 4362): std.range.repeat and cycle do not have a .save() method)
$(LI $(BUGZILLA 4363): std.algorithm.Until is not a forward range)
$(LI $(BUGZILLA 4369): Multiple bugs in GC minimize())