|
| 1 | +Ddoc |
| 2 | + |
| 3 | +$(CHANGELOG_NAV_INJECT) |
| 4 | + |
| 5 | +$(VERSION Dec 12, 2021, =================================================, |
| 6 | + |
| 7 | +$(CHANGELOG_HEADER_STATISTICS |
| 8 | +$(VER) comes with 95 fixed Bugzilla issues. |
| 9 | + A huge thanks goes to the |
| 10 | + $(LINK2 #contributors, 18 contributors) |
| 11 | + who made $(VER) possible.) |
| 12 | + |
| 13 | +$(CHANGELOG_SEP_HEADER_TEXT_NONEMPTY) |
| 14 | + |
| 15 | +$(CHANGELOG_SEP_HEADER_TEXT) |
| 16 | + |
| 17 | +$(CHANGELOG_SEP_TEXT_BUGZILLA) |
| 18 | + |
| 19 | +$(BUGSTITLE_BUGZILLA DMD Compiler regression fixes, |
| 20 | + |
| 21 | +$(LI $(BUGZILLA 20133): [REG2.084.0] Bogus slice assignment in recursive CTFE call) |
| 22 | +$(LI $(BUGZILLA 20236): spurious deprecation warnings on function calls within with$(LPAREN)X$(RPAREN) blocks while X has a deprecated alias this target) |
| 23 | +$(LI $(BUGZILLA 20860): OpDispatch does not work for structs with constructor and destructor) |
| 24 | +$(LI $(BUGZILLA 20998): error in static struct initialization causes wrong position for subsequent members, producing extra errors) |
| 25 | +$(LI $(BUGZILLA 21039): `alias this` returns 'null' for ref types when put into array initializer) |
| 26 | +$(LI $(BUGZILLA 21073): Rebindable does not work when class has alias this to inout property) |
| 27 | +$(LI $(BUGZILLA 21380): A case of compiler crash when using auto ref) |
| 28 | +$(LI $(BUGZILLA 21414): Spurious "non-constant expression" error with immutable constructors) |
| 29 | +$(LI $(BUGZILLA 21438): Compiler segfault on static array in a struct at CTFE) |
| 30 | +$(LI $(BUGZILLA 22004): [REG2.097] Error: mismatched function return type inference of `void` and `noreturn`) |
| 31 | +$(LI $(BUGZILLA 22151): Compiler crash when attempting to assign to function) |
| 32 | +$(LI $(BUGZILLA 22300): [REG 2.098-rc.2] `-checkaction=context` of a `shared` type with an `opCast` fails to compile) |
| 33 | +$(LI $(BUGZILLA 22385): CTFE fails to iterate over associative array previously indexed with implicit conversion to enum base type) |
| 34 | +$(LI $(BUGZILLA 22410): [REG2.094] function with tuple parameter with default argument fails if there's a qualifier) |
| 35 | +$(LI $(BUGZILLA 22420): [REG2.098] Apparent CTFE regression wrt. alias this) |
| 36 | +$(LI $(BUGZILLA 22472): Invalid error message for `void` return from non-`void` functions) |
| 37 | +$(LI $(BUGZILLA 22512): importC: incomplete array type must have initializer) |
| 38 | +$(LI $(BUGZILLA 22514): Invalid duplicate case error when the switched value has errors) |
| 39 | +$(LI $(BUGZILLA 22516): Segfault for function literal in struct initializer with previous errors) |
| 40 | +$(LI $(BUGZILLA 22529): wrong deprecation about empty statement) |
| 41 | +$(LI $(BUGZILLA 22570): more arguments than fields allowed in struct constructor) |
| 42 | +$(LI $(BUGZILLA 22584): importC: Error: undefined reference to 'parameter' when no parameter names in forward declaration) |
| 43 | +) |
| 44 | +$(BUGSTITLE_BUGZILLA DMD Compiler bug fixes, |
| 45 | + |
| 46 | +$(LI $(BUGZILLA 16579): ReturnStatement[CallExp$(LPAREN)DotVarExp$(RPAREN)]: Corrupted runtime on missed manifest constant propagation) |
| 47 | +$(LI $(BUGZILLA 18054): Wrong cast of float constant to bool) |
| 48 | +$(LI $(BUGZILLA 19660): 'export' keyword on OSX/Linux globals causing segfaults) |
| 49 | +$(LI $(BUGZILLA 21093): [ICE] AssertError@dmd/optimize.d$(LPAREN)691$(RPAREN): Assertion failure) |
| 50 | +$(LI $(BUGZILLA 21794): Internal compiler assertion) |
| 51 | +$(LI $(BUGZILLA 21930): ICE $(LPAREN)illegal instruction$(RPAREN) with bad code) |
| 52 | +$(LI $(BUGZILLA 21950): cod1: Assertion failure for noreturn parameter) |
| 53 | +$(LI $(BUGZILLA 21952): ice for global / tls variable of type noreturn) |
| 54 | +$(LI $(BUGZILLA 21957): ice when dmd computes the alignment of an union containing a noreturn) |
| 55 | +$(LI $(BUGZILLA 22104): importC: Parser accepts arrays with incomplete element types) |
| 56 | +$(LI $(BUGZILLA 22315): ImportC: #pragma pack is not implemented) |
| 57 | +$(LI $(BUGZILLA 22323): Link error for virtual destructor of C++ class in DLL) |
| 58 | +$(LI $(BUGZILLA 22362): ImportC: error parsing compound literal with more than one value at function scope.) |
| 59 | +$(LI $(BUGZILLA 22375): importC: Error: C non-array initializer not supported yet) |
| 60 | +$(LI $(BUGZILLA 22376): importC: Error: cannot use non-constant CTFE pointer in an initializer) |
| 61 | +$(LI $(BUGZILLA 22388): Wrong overload selected for @safe delegate) |
| 62 | +$(LI $(BUGZILLA 22389): noreturn functions are allowed to return normally) |
| 63 | +$(LI $(BUGZILLA 22398): importC: Error: unknown, when compiling source with non-constant initializer.) |
| 64 | +$(LI $(BUGZILLA 22399): importC: Error: static variable cannot be read at compile time) |
| 65 | +$(LI $(BUGZILLA 22400): importC: Error: unknown, when compiling source with typedef'd initializer) |
| 66 | +$(LI $(BUGZILLA 22402): importC: Error: can't subtract '__tag2[1]' from pointer) |
| 67 | +$(LI $(BUGZILLA 22403): importC: Error: cannot pass argument '0' of type 'int' to parameter 'const$(LPAREN)char$(RPAREN)*') |
| 68 | +$(LI $(BUGZILLA 22405): importC: Error: cannot modify 'const' expression '$(LPAREN)*s$(RPAREN).field') |
| 69 | +$(LI $(BUGZILLA 22406): importC: Error: 'switch' statement without a 'default'; use 'final switch' or add 'default: assert$(LPAREN)0$(RPAREN);' or add 'default: break;') |
| 70 | +$(LI $(BUGZILLA 22407): importC: Error: cannot implicitly convert expression of type 'extern $(LPAREN)C$(RPAREN) int$(LPAREN)int a$(RPAREN)' to 'const$(LPAREN)extern $(LPAREN)C$(RPAREN) int function$(LPAREN)int$(RPAREN)$(RPAREN)') |
| 71 | +$(LI $(BUGZILLA 22409): importC: [ICE] Error: struct no size because of forward reference) |
| 72 | +$(LI $(BUGZILLA 22411): importC: Error: cannot implicitly convert expression of type 'const$(LPAREN)char*$(RPAREN)' to 'char*') |
| 73 | +$(LI $(BUGZILLA 22413): importC: Error: array index 0 is out of bounds) |
| 74 | +$(LI $(BUGZILLA 22422): ImportC: parse gnu attributes after a function parameter) |
| 75 | +$(LI $(BUGZILLA 22428): importC: static variables/functions emit global symbols) |
| 76 | +$(LI $(BUGZILLA 22432): ImportC: casting result of postfix operator on a parenthesized expression to a typedef’d type is parsed incorrectly) |
| 77 | +$(LI $(BUGZILLA 22461): OpenBSD: Use fmodl) |
| 78 | +$(LI $(BUGZILLA 22462): OpenBSD: bash lives in /usr/local) |
| 79 | +$(LI $(BUGZILLA 22463): OpenBSD: Allow DMD to work on 32-bit OpenBSD) |
| 80 | +$(LI $(BUGZILLA 22500): ImportC: Lots of errors when compiling tomlc99) |
| 81 | +$(LI $(BUGZILLA 22513): ImportC: address of member of struct can’t be taken at compile time.) |
| 82 | +$(LI $(BUGZILLA 22517): [REG 2.093][ICE] Bus error at dmd/lexer.d:398) |
| 83 | +$(LI $(BUGZILLA 22530): Explicit cast between classes incorrectly goes through 'alias this' inside CTFE) |
| 84 | +$(LI $(BUGZILLA 22534): ImportC: const pointer $(LPAREN)not pointer to const$(RPAREN) is treated as transitive const) |
| 85 | +$(LI $(BUGZILLA 22538): importC: function 'func' conflicts with function 'func' when using static in forward declaration) |
| 86 | +$(LI $(BUGZILLA 22549): importC: float literal should support leading zero) |
| 87 | +$(LI $(BUGZILLA 22560): ImportC: extra semicolon not allowed outside of functions) |
| 88 | +$(LI $(BUGZILLA 22573): DMD compiler errors on Illumos/Solaris) |
| 89 | +$(LI $(BUGZILLA 22577): ImportC: decay of function to typedef'd const function pointer causes ICE.) |
| 90 | +) |
| 91 | +$(BUGSTITLE_BUGZILLA DMD Compiler enhancements, |
| 92 | + |
| 93 | +$(LI $(BUGZILLA 22474): OpenBSD: Add support to test/runnable/dhry.d) |
| 94 | +$(LI $(BUGZILLA 22475): OpenBSD: Disable test/compilable/cdcmp.d on OpenBSD) |
| 95 | +$(LI $(BUGZILLA 22476): OpenBSD: Add OpenBSD to the fail_compilation/fail21227_win.d ignore list) |
| 96 | +$(LI $(BUGZILLA 22477): OpenBSD: Add to fail_compilation/fail3753.d ignore list) |
| 97 | +$(LI $(BUGZILLA 22478): OpenBSD: Add to fail_compilation/invalid_lib.d) |
| 98 | +) |
| 99 | +$(BUGSTITLE_BUGZILLA Phobos regression fixes, |
| 100 | + |
| 101 | +$(LI $(BUGZILLA 16705): [REG2.069] TaskPool.reduce fails to compile "cannot get frame pointer to D main") |
| 102 | +) |
| 103 | +$(BUGSTITLE_BUGZILLA Phobos bug fixes, |
| 104 | + |
| 105 | +$(LI $(BUGZILLA 22458): OpenBSD: Add OpenBSD to std/system.d OS list) |
| 106 | +$(LI $(BUGZILLA 22487): Array!T.init.data crashes) |
| 107 | +) |
| 108 | +$(BUGSTITLE_BUGZILLA Phobos enhancements, |
| 109 | + |
| 110 | +$(LI $(BUGZILLA 22393): OpenBSD: Add polyImpl implementation for x86) |
| 111 | +$(LI $(BUGZILLA 22488): data should work with const/immutable Array's) |
| 112 | +$(LI $(BUGZILLA 22511): Nullable is not copyable when templated type has elaborate copy ctor) |
| 113 | +$(LI $(BUGZILLA 22557): std.traits.fqnType is missing support for typeof$(LPAREN)null$(RPAREN)) |
| 114 | +) |
| 115 | +$(BUGSTITLE_BUGZILLA Druntime regression fixes, |
| 116 | + |
| 117 | +$(LI $(BUGZILLA 22210): std.meta.allSatisfy in mutual recursion classes cannot be compiled) |
| 118 | +$(LI $(BUGZILLA 22235): `core.demangle` does not support `noreturn`) |
| 119 | +) |
| 120 | +$(BUGSTITLE_BUGZILLA Druntime bug fixes, |
| 121 | + |
| 122 | +$(LI $(BUGZILLA 21919): darwin: SEGV in core.thread tests on OSX 11) |
| 123 | +$(LI $(BUGZILLA 22416): Unify polyImpl implementations) |
| 124 | +$(LI $(BUGZILLA 22440): OpenBSD: Sync sysctl.d) |
| 125 | +$(LI $(BUGZILLA 22443): OpenBSD: Fix Fiber support by adding MAP_STACK) |
| 126 | +$(LI $(BUGZILLA 22453): OpenBSD: Add a dummy value for AI_V4MAPPED) |
| 127 | +$(LI $(BUGZILLA 22455): Remove useless conditional assignment of DISABLED_TESTS in posix.mak) |
| 128 | +$(LI $(BUGZILLA 22456): OpenBSD: timer_* functions don't exist on OpenBSD) |
| 129 | +$(LI $(BUGZILLA 22485): OpenBSD: Fix core.sys.openbsd.unistd imports) |
| 130 | +) |
| 131 | +$(BUGSTITLE_BUGZILLA Druntime enhancements, |
| 132 | + |
| 133 | +$(LI $(BUGZILLA 22395): OpenBSD: Add more OpenBSD-specific function prototypes in string.d and unistd.d) |
| 134 | +$(LI $(BUGZILLA 22439): OpenBSD: Sync mman.d) |
| 135 | +$(LI $(BUGZILLA 22448): OpenBSD: Add OpenBSD-specific alloc and free function prototypes from stdlib.h) |
| 136 | +$(LI $(BUGZILLA 22454): OpenBSD: Add prototypes for pthread_np.h) |
| 137 | +$(LI $(BUGZILLA 22457): OpenBSD: enableDwarf in opApply in runtime.d) |
| 138 | +$(LI $(BUGZILLA 22542): Explicitly cast backtrace results to int) |
| 139 | +$(LI $(BUGZILLA 22545): OpenBSD: Always use system backtrace) |
| 140 | +) |
| 141 | +) |
| 142 | +$(D_CONTRIBUTORS_HEADER 18) |
| 143 | +$(D_CONTRIBUTORS |
| 144 | + $(D_CONTRIBUTOR Ate Eskola) |
| 145 | + $(D_CONTRIBUTOR Boris Carvajal) |
| 146 | + $(D_CONTRIBUTOR Brian Callahan) |
| 147 | + $(D_CONTRIBUTOR Dennis) |
| 148 | + $(D_CONTRIBUTOR dkorpel) |
| 149 | + $(D_CONTRIBUTOR Florian) |
| 150 | + $(D_CONTRIBUTOR Iain Buclaw) |
| 151 | + $(D_CONTRIBUTOR lucica28) |
| 152 | + $(D_CONTRIBUTOR Martin Kinkelin) |
| 153 | + $(D_CONTRIBUTOR Martin Nowak) |
| 154 | + $(D_CONTRIBUTOR Max Haughton) |
| 155 | + $(D_CONTRIBUTOR MoonlightSentinel) |
| 156 | + $(D_CONTRIBUTOR Per Nordlöw) |
| 157 | + $(D_CONTRIBUTOR Razvan Nitu) |
| 158 | + $(D_CONTRIBUTOR Tim Schendekehl) |
| 159 | + $(D_CONTRIBUTOR Tomoya Tanjo) |
| 160 | + $(D_CONTRIBUTOR Walter Bright) |
| 161 | + $(D_CONTRIBUTOR Ömer Faruk IRMAK) |
| 162 | +) |
| 163 | +$(D_CONTRIBUTORS_FOOTER) |
| 164 | +$(CHANGELOG_NAV_INJECT) |
| 165 | + |
| 166 | +Macros: |
| 167 | + VER=2.098.1 |
| 168 | + TITLE=Change Log: $(VER) |
0 commit comments