Ура, версия
2.061 [more=New/Changed Features]Can't use property syntax with a template function
Can't use typeof() in base class list.
alias should have assignment syntax
No foreach type inference with const, ref etc modifiers
16 bytes long structs requires 32 bytes if allocated singularly on the heap
Support needed for new x86 and x86_64 instructions
Textual representation of struct that doesn't define toString()
www.d-programming-language.org "Interfacing to C" should make clear how to do callbacks
Make 'nothrow', other function attributes, accessible (via traits?)
writeln with empty arrays should write something useful
std.traits.arrayTarget
version(assert)
std.conv should also use a to function to convert to other class types
Support deprecated("message")
Use __LINE__ to pick number in unittest block names
Non-tuple iteration with std.range.zip
druntime Win64
Phobos Win64 - D2
Compiler should catch duplicate overrides
Two problems using enum lenghs
[SafeD] unhelpful error message for @safety mismatch of generated destructor
[PATCH] Add -di option to show deprecated errors as warnings
improve error message for "object.d cannot be read"
Forward declaration and implementation allowed in same file
Two small improvements for std.string maketrans and translate
std.algorithm.findSplit example is freaking hard to read
Static initializers for fixed size arrays too
Assignment of function literal to function pointer variable with non-D linkage broken
Expose "cArgs" in druntime
DDoc should provide qualified symbol names suitable for anchors
Add isInstanceOf to std.traits
Allow matching { } in asm statements
Added -di flag to make use of deprecated symbols a warning
Add User Defined Attributes (UDA)
Add -de and -dw switches
Add Win64 code generation support for use with Visual C
Add sections [Environment32] and [Environment64] to sc.ini/dmd.conf
More simd instructions allowed as intrinsics
__traits(identifier,...) to pick out identifier from parameter list tuple
Add getProtection to __traits()
add __traits(isPOD, ...)
Make 'cent' and 'ucent' syntactically valid pending implementation[/more]
[more=DMD Bugs Fixed]ICE(glue.c): using nested delegate literal as template alias parameter
Regression(2.054) scope(success) in nothrow/@safe functions causes compile errors
Regression 2.060: Bad code gen involving ubyte, ternary operators, and shifts
modifying foreach range iterator fails in CTFE
DMD 2.060 regression: anonymous delegate call in foreach loop
Using take results in a corrupted call to opSlice
[regression 2.059] Calling template function doesn't print instantiated line number
Regression: CTFE: long comparisons completely broken
Assertion failure: 'fd && fd->inferRetType' on line 81 in file 'mangle.c'
dmd buffer overflow related to function literal, real.max, template alias parameter
2.059 worked 2.060 does not: nested delegate memory corruption
CTFE fails to compare strings correctly
2.059: Lookup error message has become uninformative
Regression: 'has forward references' error for static class after template mixin
attribute inference failure with opAssign and alias this
Array operation a[] + a[] not implemented
__traits(getOverloads) fails in a member function
__traits fails in a struct member function
__traits(compiles, ...) causes error
[2.061 alpha] AA.length in a const context tries to call opAssign + no error line number
Regression(Beta): Segfault or "Non-constant expression" error with local import
Problem with std.traits.EnumMembers conversion to array
Struct copy constructor ignored when opAssign with a different type is present
template mixin constructor causes link error
Regression: 2.053: Lazy Variadic Functions do not work with delegates
Object variable of variadic template struct needs explicit "this" in certain situations
ref foreach of immutables in postcondition
Type inference for array of delegates should not break based on order
Incorrectly generated assignment operator
[2.061 beta] Import cycle causes unpredictable compile errors
[2.061 beta] Member access without this and __traits(compiles, ...)
Incorrect implicit immutable conversion occurs in pure function
DMD confuses string template parameter with function
is(typeof(...)) is reporting true when it's false due to nested function error
ICE(glue.c): 'semanticRun == PASSsemantic3done' on line 547 in file 'glue.c'
calculating minimum of longs with following comparison compiles to wrong code when enabling the optimizer
template structs with two parameters confuse DMD on multiple instantiations
runtime crash using closure as alias parameter
Bad code with ref-foreach and closures
cast(shared(const(int)))a is not an lvalue
Forward reference on template class triangle
Bad initialization when using mixin to generate a static field in a -lib'rary
CTFE wrong-code for opAssign and std.array.Appender
[64 bit] Memory corruption on stack-allocated temporary static arrays
Returning ref from delegate foreach gives bad address
__traits(compiles) gives compile error
64 bit codegen bug involving dynamically indexed static array and continue statement
postblits fails attributes qualifying when in a template.
Pure Segfault
auto function and implicit conversion in return statement corrupt returned value
Optimizer bug on 64bit: *p++=1 where p is a parameter
Incorrect values passing struct by value
error optimization of expression
Cannot declare a delegate variable for const member functions
Inherited out contract requires lvalue result?
Template alias parameters are never successfully pattern matched
Can't return ref T where T has const/immutable members
Pure/nothrow/@safe-inference failed for a template function if it is instantiated without evaluating at the global scope
Structs with disabled default constructors can be constructed without calling a constructor.
Internal error: ../ztc/cgxmm.c 60
Disabled postblit ignored and not called by all array operations
CTFE Internal error with -inline and associative arrays
*= operator breaks long array in x64
[CTFE] Incorrect slicing with pointer from sliced array
[2.061 beta][64-bit] Assertion Failure argtypes.c
FE] (interpret.c, line 3598) with failed array access
Nested structs have null context pointers in static array variables and struct fields
Able to modify const/immutable with passing to a templated function by `ref`
Nested structs smetimes have null context pointers in static struct
Nested struct `init` is lvalue and can be modified
postblit is called for nested structs when assigning `init`
ICE when trying to break outer loop from inside switch statement
Weird behavior on template instance argument
[tdpl] obligatory override attribute
[CTFE] Adding an item to an empty AA
ICE(e2ir.c): enum AA get
nothrow main() can throw
unary ++ (post increment) tries and fails to invoke opBinary
@property doesnt work with delegate return type
AA literal problem with mutable array as key
Copy constructor and templated opAssign cannot coexist
object.Error: Access Violation missing file and line number
Warning for unreachable code in scope statements is too confusing
[tdpl] Rebinding *this* in class method compiles
Problem with final & override
_traits(allMembers, X) ignores version guards inside X
Member expression tuple allowed for types, disallowed for expressions
Array of AAs literal doesn't work
Type aliasing "this" from an access function defined in base class confuses the compiler about the type of objects
Error: Statement SwitchErrorStatement::toCBuffer() cannot be interpreted at compile time
ICE(expression.c) CTFE of erroneous auto return function
Constructor, static opCall and object opCall
Initialize const fixed-size array in constructor
Built-in opAssign implicitly defined should call field's opAssign
More descriptive 'hidden by X is deprecated' error
ICE(glue.c) Multiple-at-a-time bug breaking e.g. DustMite
Nested function error in reduce
const struct definition inside functions too
writeln problem with array of tuples
Array static bounds tests with $ too
new with struct doesn't allow field assignment
no tuple expansion for c++ mangling
Pure inference makes inconsistent result
const method mangling of extern(C++) structs
Void parameter errors with overloaded templates don't indicate instantiation location
align() refused for struct defined inside functions
opDollar doesn't work with slicing
DMD hangs on isExpression with template default and variadic parameter
nested class with additional attributes is not supported
Cannot use property function call as static if condition
Cannot use property function call in pragma declaration/statement
Cannot use property function call in case/case range statement
`final switch` over enum should add throwing default in debug mode at least
Alias template within struct/class not visible when struct/class is accessed through an alias
[CTFE] Segmentation fault when using array.keys on a null AA
Default initializer for ref/out must be an lvalue
[CTFE] assignment to reference in foreach fails without error message
DDoc eats $1, $2, $3 etc. inside d_code section
No template instantiation backtrace printed trying to use writefln on a const or immutable object reference
[CTFE] assignment to AA apply ref argument
Ddoc emits garbage if a default argument contains a struct constructor call
[CTFE] Typesafe variadic function with array of structs
ICE(cgcs.c) 354
[CTFE] assertion failure on invalid stack reference
[CTFE] - segfault for struct literal with AA field
static assert message string printing problem
Cannot deduce template function when using partially specified type in function parameter
properties and the ternary operator
Throwing nothrow struct constructor?
[ICE] Two internal errors with recursive map
Wrong line number in trying to modify enum string
Conversion from dynamic array to static array fails when static array is immutable
UFCS when the first argument is a function
Property function call without parenthesis fails when it's passed as template argument
[Ddoc] non-ascii character string macro names cannot be replaced
segfault on incorrect (?) module declaration
Disabled postblit ignored on return statement
std.path.sep is deprecated
Templated struct constructors don't implicitly convert to const
Purity calculation should be improved
[CTFE] TypeTuple of tuples can't be read at compile time
[CTFE] Assertion failure: 'thisval && thisval->op == TOKclassreference' on line 4896 in file 'interpret.c'.
UFCS fails on integer literal with Unicode identifier
No line number in error message for conflicting aliases
Cannot use dot for base class lookup in inheritance list
Comparison operator overloading doesn't consider the qualifier of lhs
void and function type prints redundant error message with init property
Lambda expression causes compilation error with template function
typeof(return) inside opApply loop always int
CTFE Assertion failure (interpret.c) on dstring[].toUpper
dmd segfaults
ICE(interpret.c): CTFE using runtime variable as ref parameter
CTFE doesn't support string >,< on array literals
ICE: Assertion failed: (0), function totym, file glue.c, line 1150.
enum z = [0][(()=>$-1)()]; crashes the compiler
Nothrow can't throw Errors
Wrong processing of Complex!double as function argument
Qualified indexing type tuple returns wrong result
Stack overflow with recursive struct
Compiler reports incorrect dangling else with version attributes
tuple(tuple(1)) fails to compile, but tuple(tuple(1),1) works
Missing error message with circular use of CTFE
Problem with pure inference of inner delegate
Wrong error line number with immutable field
The super constructor call can be prevented by mentioning "return".
Another problem with pure inference of inner delegate
assigning to __ctfe crashes the compiler
Problem with enums of void*
Usiing qualified delegate type in template argument causes parser error.
function called with argument types ((void function())) matches both f(void function() fn) and f(void delegate() dg)
incomprehensible bug on windows with import side effect
[CTFE] does not evaluate to a boolean, only with -inline
core.exception.InvalidMemoryOperationError in case of remove() in Destructors
import declaration statement without scope after `if` imports to a parent scope
ICE(glue.c) on passing by ref statically initialized const/immutable variable
`alias <qualifier> <type>` ignores <qualifier> in foreach over tuple
Cannot get parent of an overload
ICE(cgcod.c) when passing cfloat argument with indirection
The PVS-Studio analyzer has something for you
Compiling using '-O -release' options yield 'Internal error: backend\cgcod.c 1663'
Forward reference error on three structs
ICE on assigning struct's `init` to enum
Wrong line number for undefined identifier error
Static struct with nested struct fields sometimes has current context pointers in `init`
Compiler crash with foreach on wrongly defined interval
ICE(glue.c) line 1225: with array.front and missing array
Template mixin identifier as template alias parameter doesn't work
DDoc: Chokes on consecutive example sections:
typeof(T.init) should have the type T
static assert should resolve property function call
struct literals are treated as lvalues
nothrow of constructer/destructor isn't correct
Aliased template function and property resolution doesn't work
auto ref doesn't work with arrays
Overloads in extern(C++) interfaces throw up COMDAT errors
Error with ddoc: octal digit expected
Redundant field postblit call on initializing
format fails if opCast and this alias are both defined in an aliased struct
Segmentation fault (DMD only) when calling some external functions twice in one expression
Mismatching static array length should be detected in foreach
[tdpl] Non-static structs should have access to outer lexical scope
Incorrect gagging of fwdref error in alias this semantics
Wrong `alias func this` incorrectly reports error message
DMD doesn't block access to "static package" members
Error messages for const/immutable arrays given to immutable/const
Better wrong function pointer error message
Bad error message in a wrong usage of ^^ pow operator
Safety error message should include full function names
Different error messages for missing const in var[] and var.opSlice()
Some missing "import std.math to use ^^ operator" error messages
Bad mismatched nested comments error
"final fields" in error messages
Poor error message for derived class without constructor
Whitespace is not inserted after commas
Multiple function match needs to print file+line numbers
UFCS resolution prints fake error
pragma(msg) incorrectly prints uint values >= 2^31
opEquals() const results in not-covered code[/more]
[more=Druntime Bugs Fixed]Throwing results in searching the whole directory tree rooted in current directory
core.atomic not documented
core.atomic.atomicLoad() cannot handle non-POD structs
.sort and .reverse break utf8 encoding
Remove volatile statements from core.thread
Cannot compile druntime with -debug=PRINTF
C files in druntime should be converted to D
core.sys.windows.windows: Environment functions
stat_t is not the same as struct stat
Add dladdr to druntime for linux/FreeBSD
core.cpuid reports unexpected values for threadsPerCPU and hyperThreading
Associative arrays as associative array keys
dmd generate bug that segfault in very weird situation.
`object.destroy` doesn't destroy interfaces
immutable `_d_args` can be written to with `main(char[][])`
core.stdc.float_ is broken with -w switch
TickDuration.to should probably be a property
incorrect definition of the OVERLAPPED struct in core.sys.windows.windows ?[/more]
[more=Phobos Bugs Fixed]FIXE std.array.insert is slow
Tuple cannot define with type that has only mutable opEquals
isAssignable!(int, const(int)) is false
Collapse of std.csv by the specifications change of std.conv.parse
std.range.chain and std.range.zip cannot get frame pointer
2.061alpha multiSort no longer working with L-value only comparators
[2.061 beta] isDymanicArray/DynamicArrayTypeOf broken for classes/interfaces with AliasThis
RefCounted fails on opAssign
Spawned threads frequently don't terminate or let other threads ever run if you spawn more than one thread
May not join spawn()'ed threads
std.Container.Array (and .Range) du not implement opIndexUnary
std.algorithm.joiner doesn't return a proper forward range
bitfields template generate wrong code
std.variant: Crash on comparing unordered types
std.algorithm.sort fails with SwapStrategy.stable
std.demangle doesn't work correctly
std.array.insert on string[]
std.functional.binaryReverseArgs missing from documentation
writeln of alias-this matrix
Problem with map() that returns array contents
Problem with map() that yields Tuples
std.math: exp, expm1, exp2 return 'inf' when no asm.
std.windows.registry exposes too much implementation details
BigInt textual representation
Assertion failure in std.variant
std.algorithm.find breaks in certain circumstances
BigInt division bug
std.algorithm.joiner breaks when used with InputRangeObject
std.algorithm.joiner makes invalid assumptions about front()
[std.container] can't define Array!T, if T is Tuple!(size_t, size_t)
std.string.representation works incorrect for shared(const(T)) types
std.net.isemail doesn't compile without -d switch
typecons.RefCounted.refCountedPayload should be nothrow
std.typecons.Proxy.opEquals compiles error: undefined identifier 'startsWith'
Enforcement and purity
lockstep needs to document default stopping policy
sha1UUID does not show up on
http://dlang.org/phobos/std_uuid.html std.conv.to bug, from documentation
Wrong writeln of negative numbers
std.traits std.typetuple.Alias is private and used in std.traits
infinite loop in DList.opEquals
RedBlackTree.opEquals has byref semantics
Using zip with char[] sometimes fails to compile
std.traits.ParameterIdentifierTuple is undocumented and doesn't work with ref params
writef/format inconsistent with format specifier
core.thread.Fiber seems to crash on Win64
std.typecons.Proxy doesn't treat ref parameter correctly.
parse!int fails on size_t.max+1 digits long input (overflow)
std.string.chomp documentation mismatch implementation
std.parallelism unittest failure on single processor
countUntil warning on an infinite range
std.parallelism.executeInNewThread with thread priority segfaults[/more]
Из самых главных новшеств, это конечно (наконец-то!) UDA -
User Defined Attributes