forked from dlang/dlang.org
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy path2.041.dd
79 lines (75 loc) · 4.69 KB
/
2.041.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
Ddoc
$(CHANGELOG_NAV 2.040,2.042)
$(VERSION Mar 7, 2010, =================================================,
$(WHATSNEW
$(LI __traits allMembers and and derivedMembers now return a tuple of strings
rather than an array of strings. Enclose __traits in [ ] to make array literal.
This makes it possible for foreach statements to iterate at compile time over it.
)
$(LI Interface member functions can now have
$(LINK2 $(ROOT_DIR)interface.html#InterfaceContracts, contracts).)
$(LI Added new
$(LINK2 $(ROOT_DIR)operatoroverloading.html, operator overloading) regime.)
$(LI Warnings no longer halt the parsing/semantic passes, though they still return
an error status and still do not generate output files. They also no longer count
as errors when testing with "compiles" traits.)
$(LI Added $(B -wi) switch for $(BUGZILLA 2567))
$(LI Mixin template definitions should be preceded with $(CODE mixin))
$(LI Add
$(LINK2 $(ROOT_DIR)expression.html#InExpression, $(B !in)) operator.)
$(LI Associative array contents can now be compared for equality)
$(LI Use of $(B length) inside of [ ] is now deprecated, use $(DOLLAR) instead)
$(LI Added $(B toDelegate()) to std.functional to convert function pointers to delegates.)
$(LI Implemented attributes for constructors.)
$(LI Implemented qualifiers for struct literals, like $(CODE immutable(S)(1,2,3)))
$(LI Array equality can now be done with differing array element types.)
$(LI Add simple spell checking.)
$(LI $(BUGZILLA 3378): [tdpl] ++x should be an lvalue)
$(LI string, wstring are now bidirectional (not random) ranges)
$(LI std.algorithm: defined move with one argument; levenshtein distance generalized to with all forward ranges; take now has swapped arguments)
$(LI std.array: empty for arrays is now a @property; front and back for a string and wstring automatically decodes the first/last character; popFront, popBack for string and wstring obey the UTF stride)
$(LI std.conv: changed the default array formatting from "[a, b, c]" to "a b c")
$(LI std.range: swapped order of arguments in take)
$(LI std.stdio: added readln template)
$(LI std.variant: now works with statically-sized arrays and const data)
$(LI std.traits: added isNarrowString)
$(LI The default type for [1,2,3] is now int[] rather than int[3].)
)
$(BUGSFIXED
$(LI $(BUGZILLA 2321): spec on inline asm can be misunderstood)
$(LI $(BUGZILLA 2463): No line number in "statement is not reachable" warning)
$(LI $(BUGZILLA 3029): Bug in array value mangling rule)
$(LI $(BUGZILLA 3306): bad function/delegate literal generated into header files)
$(LI $(BUGZILLA 3373): bad codeview debug info for long and ulong)
$(LI Posix only, $(BUGZILLA 3420): [PATCH] Allow string import of files using subdirectories)
$(LI $(BUGZILLA 3450): incorrect result for is (typeof({ ... }())) inside a struct)
$(LI $(BUGZILLA 3453): Linking order affects proper execution (Mac OSX only))
$(LI $(BUGZILLA 3491): typeof((string[string]).init) == AssociativeArray!(string, string), doesn't implicitly convert to string[string].)
$(LI $(BUGZILLA 3500): super behaves differently with -inline)
$(LI $(BUGZILLA 3558): Optimizer bug results in false if condition being taken)
$(LI $(BUGZILLA 3582): core.stdc.ctype functions are not pure)
$(LI $(BUGZILLA 3619): Thread crash on exit)
$(LI $(BUGZILLA 3637): Array append patch to prevent stomping and to enhance thread-local append performance)
$(LI $(BUGZILLA 3644): Wrong UCHAR_MAX value in module core.stdc.limits)
$(LI $(BUGZILLA 3670): Declarator grammar rule is broken)
$(LI $(BUGZILLA 3689): Grammar does not allow const(int))
$(LI $(BUGZILLA 3692): ICE(mtype.c) with associative arrays when std.variant is imported)
$(LI $(BUGZILLA 3695): __EOF__ token not documented)
$(LI $(BUGZILLA 3697): StructTemplateDeclaration and others missing constraint in rule)
$(LI $(BUGZILLA 3710): Typo in allMembers description?)
$(LI $(BUGZILLA 3736): corrupted struct returned by function with optimizations (-O))
$(LI $(BUGZILLA 3737): SEG-V at expression.c:6255 from bad opDispatch)
$(LI $(BUGZILLA 3763): std.stdio.readlnImpl absurdly inefficient and overflows stack)
$(LI $(BUGZILLA 3768): reapeted quotes in ddoc.html)
$(LI $(BUGZILLA 3769): Regression: Segfault(constfold.c) array literals and case statements)
$(LI $(BUGZILLA 3775): Segfault(cast.c): casting no-parameter template function using property syntax)
$(LI $(BUGZILLA 3776): Wrong CHAR_MIN value in module core.stdc.limits)
$(LI $(BUGZILLA 3781): ICE(interpret.c): using no-argument C-style variadic function in CTFE)
$(LI $(BUGZILLA 3803): compiler segfaults)
$(LI $(BUGZILLA 3840): Jump to: section in the docs should be sorted)
)
)
$(CHANGELOG_NAV 2.040,2.042)
Macros:
VER=2.041
TITLE=Change Log: $(VER)