[dmd-internals] Changelog update
Don Clugston
dclugston at googlemail.com
Mon Jul 4 00:15:28 PDT 2011
Here's my version of the DMD changelog, to merge into yours (some of
the CTFE bugfixes aren't obvious since they depended on a complicated
set of commits).
$(VERSION 054, ddd mm, 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)
)
$(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 $(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 3511): ref return property confused with
property setter)
$(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 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 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 4745): Non-uniform handling of commas in
static initialization of structs)
$(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 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 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 5819): DMD doesn't error/warn about illegal
asm for 64bit mode)
$(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 5946): failing lookup 'this' from function in template)
$(LI $(BUGZILLA 5954): [CTFE] enum structs with ctor)
$(LI $(BUGZILLA 5962): Template function declaration with
prefixed storage class and auto occurs conflict)
$(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 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 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 6242): Disallow inoperant "in" contracts)
)
)
More information about the dmd-internals
mailing list