/
2.012.dd
106 lines (94 loc) · 5.28 KB
/
2.012.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
Ddoc
$(CHANGELOG_NAV 2.011,2.013)
$(VERSION Mar 6, 2008, =================================================,
$(WHATSNEW
$(LI Added predefined version($(LINK2
$(ROOT_DIR)spec/version.html#PredefinedVersions, unittest)). See $(BUGZILLA 458))
$(LI Removed $(B std.math2))
$(LI Added compile time error for comparing class types against $(CODE null).)
$(LI Added struct destructors and postblits.)
$(LI std.algorithm: Made some imports conditional for the Unittest
version; fixed doc typo; made min and max always return the tightest
type and work with mixes of signed and unsigned; changed enum value
names to obey lowercase convention; changed OrderStrategy to
SwapStrategy as it's not just for ordering (e.g. see eliminate).)
$(LI std.bitmanip: simplified code generated for bitfields and improved
error message.)
$(LI std.format: ate dogfood: used bitfields internally.)
$(LI std.functional: fixed binaryfun to work with constant-size arrays;
added compose.)
$(LI std.random: made unpredictableSeed return different numbers every
call (except for rarely-encountered MT scenarios); added private
variable name that will take experts millenia to figure out; changed the
boundaries syntax from two separate characters '[', '$(LPAREN)' to one
string "[$(LPAREN)" throughout.)
$(LI std.traits: added mostNegative, mostly to assuage for the
unpardonable mistake of inheriting C++'s unpardonable mistake of
defining "min" to mean very different things for floating-point types
and integral types.)
$(LI std.typecons: added undocumented Rebindable in preparation for
opImplicitCast.)
$(LI std.math:
$(UL
$(LI Support for different CPU IEEE 'real' formats: 64-bit, 80-bit and
128-bit (quadruple) reals, both BigEndian and LittleEndian; partial
support for non-IEEE 'doubledouble' reals.)
$(LI Added implementation of nextafter $(BUGZILLA 1722) and scalb for
DMD-Windows.)
$(LI Added nextUp(), nextDown())
$(LI $(BUGZILLA 1881): feqrel nonsensical for non-real arguments.)
$(LI internal functions isPosZero(), isNegZero() removed in favour of
the more generally useful isIdentical().)
$(LI asm versions of functions which were not implemented by DMD
Windows: scalb, lrint.)
$(LI added creal expi(real y) which is useful for simultaneous
calculation of sin + cos.)
)
)
)
$(BUGSFIXED
$(LI std.contracts: fixed unlisted bug in pointsTo.)
$(LI std.conv: fixed bug related to number-to-number conversion (T.min
hits again).)
$(LI Fixed dwarf bug with DT_AT_upper_bound)
$(LI $(BUGZILLA 756): IFTI for tuples only works if tuple parameter is last)
$(LI $(BUGZILLA 1454): IFTI cant deduce parameter if alias argument used)
$(LI $(BUGZILLA 1661): Not possible to specialize on template with integer parameter)
$(LI $(BUGZILLA 1800): Compiler crash on enums nested in structs)
$(LI $(BUGZILLA 1801): Const structs should be assignable to non-const variables unless they contain references)
$(LI $(BUGZILLA 1806): "const" makes typesafe variadic arguments not work properly.)
$(LI $(BUGZILLA 1809): template.c:2600)
$(LI $(BUGZILLA 1810): MmFile anonymous mapping does not work under win32)
$(LI $(BUGZILLA 1819): spurious warning about missing return statement after synchronized)
$(LI $(BUGZILLA 1821): ICE when using __traits isSame on const/invariant variables)
$(LI $(BUGZILLA 1823): Implicit conversion to const on associative array)
$(LI $(BUGZILLA 1828): Several Thread Issues)
$(LI $(BUGZILLA 1833): std.c.windows.windows should use enums for constants, or be more selective about use of extern(Windows))
$(LI $(BUGZILLA 1836): Inline assembler can't use enum values as parameters.)
$(LI $(BUGZILLA 1837): Make dmd stop flooding the console: prints content of passed parameter file)
$(LI $(BUGZILLA 1843): Bogus unreachable statement on forward referenced struct, lacks line number)
$(LI $(BUGZILLA 1850): The compiler accepts lower case asm registers.)
$(LI $(BUGZILLA 1851): missing opCall? when cast away const struct)
$(LI $(BUGZILLA 1852): you get opCall missing when cast to a struct(diagnostic))
$(LI $(BUGZILLA 1853): opCmp documentation really needs some examples)
$(LI $(BUGZILLA 1854): bug in new flow analysis (warnings on valid code))
$(LI $(BUGZILLA 1857): Runtime segfault while profileing - jump to invalid code address)
$(LI $(BUGZILLA 1862): asm: [ESI+1*EAX] should be a legal addr mode)
$(LI $(BUGZILLA 1865): Escape sequences are flawed.)
$(LI $(BUGZILLA 1867): lazy adds spurious const qualifier)
$(LI $(BUGZILLA 1871): DMD debug messages printed)
$(LI $(BUGZILLA 1873): structs with at least one immutable member are completely immutable)
$(LI $(BUGZILLA 1874): __traits(allMembers, T) fails to list methods which only have non-mutating overloads)
$(LI $(BUGZILLA 1876): inside a non-static class method, should "&( f)" be same as "&(this.f)" ?)
$(LI $(BUGZILLA 1877): Errors in the documentation of std.math.atan2)
$(LI $(BUGZILLA 1882): Internal error: ..\ztc\cod1.c 2529)
$(LI $(BUGZILLA 1883): templates instantiated as real gives incorrect values)
$(LI $(BUGZILLA 1884): manifest constants for strings)
$(LI $(BUGZILLA 1885): Syntax error for object identity test between invariant/mutable references)
$(LI $(BUGZILLA 1887): compiler freeze on array of dyn. arrays with empty first initializer)
)
)
$(CHANGELOG_NAV 2.011,2.013)
Macros:
VER=2.012
TITLE=Change Log: $(VER)