July 04, 2011 [dmd-internals] Changelog update | ||||
---|---|---|---|---|
| ||||
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) ) ) |
July 04, 2011 [dmd-internals] Changelog update | ||||
---|---|---|---|---|
| ||||
Posted in reply to Don Clugston | On 2011-07-04 00:15, Don Clugston wrote:
> 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)
> )
> )
Wow. That's a lot. The changelog sure isn't going to be short this time around. :)
- Jonathan M Davis
|
Copyright © 1999-2021 by the D Language Foundation