www.digitalmars.com

D Programming Language 1.0


Last update Sun Dec 30 20:34:43 2012

D Change Log

Version D 1.00 Jan 2, 2007

New/Changed Features

  • -v flag now outputs imports
  • added std.c.linux.pthread

Bugs Fixed

  • Fixed Bugzilla 552: Internal error: ..\ztc\cg87.c 1327 on in-function modulo of imaginary number
  • Fixed Bugzilla 553: Assertion failure: '0' on line 609 in file 'constfold.c' on modulo of complex number
  • Fixed Bugzilla 694: Doc mistake: a == null is not a.opCmp(null)
  • Fixed Bugzilla 699: long variadic arguments and the "-profile" flag
  • Fixed Bugzilla 702: inline assembler: "SMSW r32" fails to compile
  • Fixed Bugzilla 703: SuperExp::scanForNestedRef Assertion
  • Fixed Bugzilla 728: incorrect initialisation of member arrays if an explicit struct initializer is used
  • Fixed Bugzilla 731: Positive and negative NaN in template arguments causes link conflict
  • Fixed Bugzilla 734: Multidimensional arrays use incorrect initializer
  • Fixed Bugzilla 745: recursive typeof in function declaration crashes cc1d
  • Fixed Bugzilla 748: internal error with mixed static / dynamic array
  • Fixed Bugzilla 749: Internal error: toir.c 170 with lazy bool and delegate with default argument
  • Fixed Bugzilla 750: Recursive typeof in function declaration crashes DMD
  • Fixed Bugzilla 751: Compiler segfault on template expansion
  • Fixed Bugzilla 752: Assertion failure: 'e->type->ty != Ttuple' on line 4518 in file 'mtype.c'
  • Fixed Bugzilla 753: Minor Misspelling in Class Spec Page
  • Fixed Bugzilla 754: hex strings crash DMD when reporting syntax errors
  • Fixed Bugzilla 757: Some debug code was not removed from statement.c
  • Fixed Bugzilla 760: std.c.stdlib does not include system(3)
  • Fixed Bugzilla 763: Segfault compiling template code on Linux
  • Fixed Bugzilla 764: (typeof(o)).classinfo causes parser error
  • Fixed Bugzilla 765: ArrayBoundsError when assigning slice of pointer
  • Fixed Bugzilla 766: dmd.exe crash
  • Fixed Bugzilla 770: enums and typecasts
  • Fixed Bugzilla 771: template func returns delegate w. param list from tuple and type, odd compiler error
  • Fixed Bugzilla 772: Bogus error using relation operator as static if expression within template
  • Fixed Bugzilla 773: Redundant "Error: " in std.conv.ConvError
  • Fixed Bugzilla 775: array literals can't be used as template arguments
  • Fixed Bugzilla 777: -inline: assert() with a non-constant message causes code to not compile
  • Fixed Bugzilla 778: -inline: Assertion failure: '!v->csym' on line 450 in file 'glue.c'
  • Fixed Bugzilla 779: init.c:103: virtual Expression* VoidInitializer::toExpression(): Assertion `0' failed.
Version D 0.178 Dec 23, 2006

New/Changed Features

  • Implemented Named Return Value Optimization
  • If the first element of an array literal is a static array, it is converted to a dynamic array.
  • Empty ; no longer allowed after conditional statements, see Bugzilla 576.

Bugs Fixed

  • Fixed Bugzilla 39: ArrayMemberInitialization, StructMemberInitializer inconsistencies from dmd's behavior
  • Fixed Bugzilla 40: DecimalFloat spec doesn't match dmd behavior
  • Fixed Bugzilla 238: Cannot initialise const field from foreach loop on associative array
  • Fixed Bugzilla 265: Selective import from renamed import behaves strangely
  • Fixed Bugzilla 576: version.html - ConditionalStatement grammar doesn't make sense
  • Fixed Bugzilla 577: statement.html - NonEmptyStatement grammar lists DebugStatement and VersionStatement, which are not defined
  • Fixed Bugzilla 612: Associative arrays ignore opEquals, contrary to the spec
  • Fixed Bugzilla 630: Obscure, unimplemented features related to in/out contracts
  • Fixed Bugzilla 631: Spelling errors in DMD distribution
  • Fixed Bugzilla 634: writef doesn't work on enums
  • Fixed Bugzilla 635: regression: looping "Error: outer class Outer 'this' needed to 'new' nested class Inner"
  • Fixed Bugzilla 650: Assertion failure: '0' on line 774 in file 'expression.c'
  • Fixed Bugzilla 651: Assertion failure: 'global.errors' on line 2622 in file 'template.c'
  • Fixed Bugzilla 654: Const string member using implicit type inference gives garbage in certain situation
  • Fixed Bugzilla 661: Error using a zero-init struct's init property
  • Fixed Bugzilla 663: Slice assignment does not bounds check when it should
  • Fixed Bugzilla 665: missing functions in std.c.linux.linux
  • Fixed Bugzilla 667: incorrect value for std.socket.SocketShutdown.BOTH
  • Fixed Bugzilla 669: (a == b) misuses opCmp and opEquals
  • Fixed Bugzilla 672: Compiler endless loop with nested class object
  • Fixed Bugzilla 673: ABI as documented is 32 bit specific.. how about 64 bits?
  • Fixed Bugzilla 681: Array -- Implicit type doc updates needed
  • Fixed Bugzilla 682: dmd segfault with vararg template
  • Fixed Bugzilla 683: New: dmd segv, this ain't the same as bug 682
  • Fixed Bugzilla 684: dmd should compile this
  • Fixed Bugzilla 685: dmd assertion failure
  • Fixed Bugzilla 686: [Regression] opCast of a struct or union is called in nonsensical circumstances
  • Fixed Bugzilla 687: DDoc doesn't document anonymous enums
  • Fixed Bugzilla 688: Implicit function template match doesn't work for classes
  • Fixed D.announce/6072
  • Fixed D/45058 items 1, 2 and 4
  • Fixed D.bugs/6300: Assertion failure: '0' on line 704 in file 'expression.c'
  • Fixed c++/5355
Version D 0.177 Dec 9, 2006

New/Changed Features

  • Casting a value v to a struct S is now rewritten as S(v).
  • Initializing a struct S from a value v is now rewritten as S(v).
  • TypeInfo now always generated for enum, struct, and typedef's, to enable more thorough rtti.
  • classinfo.name now has the fully qualified name
  • Arrays no longer implicitly convert to pointers unless -d is used.
  • Need to recompile because:
    • Improved name mangling for floating point constants
    • Nested and member functions needing 'this' are preceded by 'M' in the mangled type.

Bugs Fixed

  • Doc fixed for Bugzilla 510: Nonworking implicit conversions between arrays and pointers
  • Doc fixed for Bugzilla 511: Various problems in the documentation
  • Doc fixed for Bugzilla 567: Compiler crash with conflicting templates
  • Fixed Bugzilla 607: toString can't handle char[]
  • Fixed Bugzilla 628: Assertion failure: '0' on line 91 in file 'init.c'
  • Fixed Bugzilla 636: Excessive "1: " in error message
  • Fixed Bugzilla 637: internal symbols are missing the leading underscore
  • Fixed Bugzilla 638: additional leading D in symbol D_D3std9dateparse9DateParse8classifyFAaZE3std9dateparse9DateParse2DP6DateID6__initZ
  • Fixed Bugzilla 653: AAs are slightly broken
  • Fixed Bugzilla 656: lazy in main
Version D 0.176 Dec 2, 2006

New/Changed Features

  • Added std.bind.
  • Need to recompile because:
    • Associative arrays now are PTRSIZE, not PTRSIZE*2.
    • Destructors no longer stored in vtbl[].
    • "_arguments" now passed differently to variadic functions.
    • Improved name mangling, see D.announce/5791 and D.announce/5759.

Bugs Fixed

  • Fixed Bugzilla 221: Inconsistent name mangling of bool (a relic of 'bit') [Patch included]
  • Fixed Bugzilla 294: DDoc: Function templates get double and incomplete documentation
  • Fixed Bugzilla 500: Struct Initializers conflict with Delegate Literals in initializers
  • Fixed Bugzilla 501: Bad interaction between 'with' and IFTI in template methods
  • Fixed Bugzilla 503: Names of arguments to atan2 are backwards
  • Fixed Bugzilla 505: rdmd and dmd do not correctly preserve program arguments with spaces.
  • Fixed Bugzilla 507: Error: 'this' is required, but ... is not a base class of ...
  • Doc fixed for Bugzilla 508: All members of an array need not be initialised
  • Doc fixed for Bugzilla 509: [wd]char[1] does not convert to [wd]char
  • Doc fixed for Bugzilla 510: Nonworking implicit conversions between arrays and pointers
  • Doc fixed for Bugzilla 511: Various problems in the documentation
  • Fixed Bugzilla 513: using struct initializer on static array crashes the compiler
  • Fixed Bugzilla 514: Misleading error message for static const initialisation
  • Fixed Bugzilla 517: std.compiler outdated
  • Fixed Bugzilla 521: frontend: incorrect error(Loc, const char*, char*) declaration in mars.h
  • Fixed Bugzilla 522: frontend: 64-bit format string cleanup
  • Fixed Bugzilla 524: Compiler crash when compiling
  • Fixed Bugzilla 530: segfault assigning array literal to a non-array const
  • Fixed Bugzilla 534: IPF trying to initialize an associative array
  • Fixed Bugzilla 550: Shifting by more bits than size of quantity is allowed
  • Fixed Bugzilla 554: Division by zero results in two identical errors
  • Fixed Bugzilla 555: Integral ireal literals can't be specified
  • Fixed Bugzilla 557: ICE returning a tuple from a function (Assertion failure: '0' on line 694 in file 'glue.c')
  • Fixed Bugzilla 560: Cannot escape reference to variadic parameter
  • Fixed Bugzilla 562: Source file without BOM starting with non-ASCII compiles and runs
  • Fixed Bugzilla 564: Setting predefined versions on the command line causes crashes
  • Fixed Bugzilla 567: Compiler crash with conflicting templates
  • Fixed Bugzilla 574: DMD uses D calling convention for returning complex floats from functions with C calling convention
  • Fixed Bugzilla 585: dmd crashes with segmentation fault
  • Fixed Bugzilla 587: DMD crashes compiling char[][] initialization
  • Fixed Bugzilla 589: std.string.newline should be char[] not char[2]
  • Fixed Bugzilla 591: version=LittleEndian crash the compiler
  • Fixed Bugzilla 593: can't deduce from arrayliteral
  • Fixed Bugzilla 597: std.socket TcpSocket and UdpSocket are missing.
  • Fixed Bugzilla 598: missing reentrant Linux functions
  • Fixed Bugzilla 610: Undocumented behaviour: ~ and ~= can now concatenate an array with a single element
  • Fixed Bugzilla 613: Error message still states that '===' and '!==' are merely deprecated
  • Fixed Bugzilla 618: The following program crashes dmd.exe 0.175
  • Fixed Bugzilla 619: Alias of templated struct instance crashes 0.175
Version D 0.175 Nov 25, 2006

New/Changed Features

  • Added == super to IsExpressions.
  • Class variables declared with scope are now allocated on the stack.

Bugs Fixed

  • Fixed Bugzilla 222: Internal error: ..\ztc\cod1.c 1656" with && and ||
  • Fixed Bugzilla 228: Crash on inferring function literal return type after prior errors
  • Fixed Bugzilla 311: Object files missing certain template instantiations
  • Fixed Bugzilla 331: performance bug in std.uni.toUniLower / std.uni.toUniUpper
  • Incorporated Bugzilla 332: typesafe variadic functions and lazy argument support for std.demangle
  • Fixed Bugzilla 343: Compile error using mixin containing struct
  • Fixed Bugzilla 349: Function matching with enums is erratic
  • Fixed Bugzilla 352: Assertion failure: expression.c 753 - concatenating strings in a template calling another template
  • Fixed Bugzilla 353: null passed as a char[] template argument, concatenated with a string literal, is a non-constant expression
  • Fixed Bugzilla 354: Internal error: e2ir.c 772 with bad template use
  • Fixed Bugzilla 355: ICE from enum : nonexistent type
  • Incorporated Bugzilla 363 XHTML support
  • Fixed Bugzilla 364: Mysterious access violation when using delegate()[1]... parameter
  • Fixed Bugzilla 373: Spec problems with TypeInfo: error and omission.
  • Fixed Bugzilla 378: Assertion failure: '0' on line 216 in file 'init.c'
  • Fixed Bugzilla 379: wrong thisptr type in typedef'ed struct
  • Fixed Bugzilla 380: cannot use typeof(*this) in a static context
  • Fixed Bugzilla 384: Different behaviour when compiling as separate object files
  • Fixed Bugzilla 389: Cannot link to std.path.altsep
  • Fixed Bugzilla 429: Unable to distinguish between empty and uninitialized dynamic arrays
  • Fixed Bugzilla 433: A deprecated, same-named alias screws up resolution of imports
  • Fixed Bugzilla 443: assignment in return when using cdouble is broken
  • Fixed Bugzilla 444: Inside a foreach with delegates, void return does not compile
  • Fixed Bugzilla 446: Anonymous class and "return without calling constructor"
  • Fixed Bugzilla 460: Assertion failure: '!needThis()' on line 143 in file 'tocsym.c'
  • Fixed Bugzilla 464: 64bit clean dchar.c
  • Fixed Bugzilla 465: errors when trying to use static templated methods
  • Fixed Bugzilla 466: dmd prevent this from link, if so please prevent it from compiling
  • Fixed Bugzilla 467: double inheritance from the same interface
  • Fixed Bugzilla 468: argument wrongfully identified as type in template instantiation
  • Fixed Bugzilla 471: Protection attributes of mixin instances are applied in a wrong scope.
  • Fixed Bugzilla 475: DMD segfault on recursive variadic template
  • Fixed Bugzilla 476: DMD doesn't resolve its location properly on Windows
  • Fixed Bugzilla 478: can't compare arrayliteral statically with variable
  • Fixed Bugzilla 480: too many initializers error message doesn't give line number
  • Fixed Bugzilla 486: Writefln on null object should not trigger access error.
  • Fixed Bugzilla 488: regression: recursive typeof segmentfaults
  • Fixed Bugzilla 490: Static struct initializer without static attribute aborts dmd with assertion
  • Fixed Bugzilla 525: can't use array variable in typetuple index
  • Fixed D.announce/5464
  • Fixed problem with ForStatement scope.
Version D 0.174 Nov 14, 2006

New/Changed Features

  • Implemented std.typetuple.
  • Implemented std.traits.
  • Added .funcptr property for delegates.
  • Added .tupleof property for structs and classes.
  • Slicing and indexing of type tuples now supported.
  • Variable declarations can now be declared with type tuples.
  • Improved the statement grammar thanks to Stewart Gordon.
  • Added DMD switch -v1 for D language 1.0 compatibility.
  • deprecated === and !== no longer allowed
  • deprecated iftype no longer allowed
  • deprecated on_scope_xxxx no longer allowed
  • deprecated 'l' numeric literal suffix no longer allowed
  • deprecated if (v; e) no longer allowed
  • deprecated instance no longer allowed
  • scope can now be used for RAII declarations; use auto for type inference.

Bugs Fixed

  • Fixed Bugzilla 462: invalid typeinfo usage breaks dmd compiler
  • Fixed Bugzilla 469: Incorrect documentation in std.date
  • Fixed Bugzilla 477: Malformed URL in documentation
  • Issues error now for Bugzilla 483: ICE-invalid with tuple. mangleof.
  • Fixed Bugzilla 484: Compiler segfault with template variadic used as a template alias
  • Fixed Bugzilla 489: .classinfo not working with fqn
  • Fixed Bugzilla 491: Create directories necessary for writing files when using -Dd and -Hd option
  • Fixed Bugzilla 494: template's variadic argument can't use as type
  • Fixed Bugzilla 495: ICE passing variadic arglist to another variadic template
  • Incorporated Bugzilla 496: frontend: 64-bit cleanup of utf_decode
  • Incorporated Bugzilla 497: frontend: 64-bit cleanup of sprintf buffer sizes
  • Fixed Bugzilla 498: Signal mixins need to import
  • Fixed Bugzilla 499: Multiple overrides of the destructor when using signals
  • Incorporated D/43595 suggestions
  • Fixed D/43649 crash
  • Fixed D.bugs/8856
  • Fixed D.announce/5290
Version D 0.173 Nov 1, 2006

New/Changed Features

Bugs Fixed

  • Fixed IFTI bug deducing types from struct templates
  • Fixed D/43122 crash
  • Fixed Bugzilla 445: debugging artifact: DeclarationExp::scanForNestedRef
  • Fixed/Incorporated Bugzilla 330: std.string.tolower / std.string.toupper broken for non-ASCII strings
  • Documented Bugzilla 350: Modulo for negative values is undefined
  • Incorporated Bugzilla 448: frontend: redefinition of size_t
  • Incorporated Bugzilla 449: frontend: html.h and complex_t.h are unprotected against multiple inclusion
  • Incorporated Bugzilla 450: frontend: please use <stdint.h> to increase portability
  • Incorporated Bugzilla 451: frontend: redundant function definitions
  • Fixed Bugzilla 457: notifyRelease: debugging artifacts
Version D 0.172 Oct 18, 2006

New/Changed Features

    Bugs Fixed

    • Fixed again Bugzilla 440: dmd.170 fails to mark final methods as implementations of abstract ones
    • Fixed Bugzilla 441: Crash on foreach of mixed-in aggregate
    • Fixed Bugzilla 442: Crash on foreach of mixed-in aggregate
    Version D 0.171 Oct 18, 2006

    New/Changed Features

      Bugs Fixed

      • Incorporating overlooked Bugzilla 429 change.
      • Fixed Bugzilla 440: dmd.170 fails to mark final methods as implementations of abstract ones
      Version D 0.170 Oct 17, 2006

      New/Changed Features

      • Added foreach_reverse.
      • Delegates can now be the 'aggregate' for the foreach.
      • final member functions that do not override any are no longer placed in the _vtbl[]. This means that code with classes deriving from such classes need to be recompiled.
      • null is now an exact match for null pointers, delegates, arrays, class objects, etc.

      Bugs Fixed

      Version D 0.169 Oct 7, 2006

      New/Changed Features

        Bugs Fixed

        Version D 0.168 Oct 2, 2006

        New/Changed Features

        • Added .ptr property for delegates.
        • Added .outer property for nested class instances.
        • Can now initialize stack variables with array literals.
        • Array literals can now be cast to [][] types.
        • Mixins can now insert multiple destructors.

        Bugs Fixed

        Version D 0.167 Sep 18, 2006

        New/Changed Features

        • Implemented Stewart Gordon's suggestions per D.bugs/3843.
        • Added std.c.windows.stat.
        • Added std.file.getTimes().
        • Added support for multidimensional array allocation with NewExpression.
        • Added array literals.
        • std.format will now work with struct arguments as long as they define a char[] toString() member function.

        Bugs Fixed

        Version D 0.166 Aug 30, 2006

        New/Changed Features

        • Upgraded zlib from 1.2.1 to 1.2.3 per Bugzilla 286
        • Removed implicit conversion to delegates, except in the case of typesafe variadic arguments.
        • Replaced with lazy parameter storage class per Tomasz Stachowiak's suggestion D/41633.
        • Incorporated Oskar Linde's patches to support member templates.

        Bugs Fixed

        Version D 0.165 Aug 20, 2006

        New/Changed Features

        Bugs Fixed

        Version D 0.164 Aug 11, 2006

        New/Changed Features

        • Added DDOC_COMMENT macro to Ddoc.

        Bugs Fixed

        Version D 0.163 Jul 18, 2006

        New/Changed Features

        • Object.opCmp now throws an error. Should override it if used. Breaks existing code.
        • Imports now default to private instead of public. Breaks existing code.
        • Added static imports, renamed imports, and selective importing.

        Bugs Fixed

        Version D 0.162 Jun 22, 2006

        New/Changed Features

          Bugs Fixed

          Version D 0.161 Jun 19, 2006

          New/Changed Features

          • Added opIn_r operator overload.
          • Function return types for lambda delegates can now be inferred.
          • delegate keyword now optional for lambda delegates.
          • Shadowing local variable declarations is now deprecated.
          • New function template syntax.

          Bugs Fixed

          Version D 0.160 Jun 4, 2006

          New/Changed Features

          • Documentation is much more controlled by style sheets now.
          • AssertExpression's can now take an optional informational string as the second parameter. Static assert's can, too.
          • Added Expression.NewExpression so inner classes can be initialized more conveniently.
          • Added operator overloading of InExpression.
          • For Windows, looks for sc.ini in:
            1. The current working directory
            2. The directory specified by the HOME environment variable
            3. The directory dmd.exe resides in
          • For Linux, looks for dmd.conf in:
            1. The current working directory
            2. The directory specified by the HOME environment variable
            3. directory dmd resides in
            4. /etc/

          Bugs Fixed

          Version D 0.159 May 26, 2006

          New/Changed Features

            Bugs Fixed

            Version D 0.158 May 22, 2006

            New/Changed Features

            • Added DDOC_DITTO Ddoc macro to address D.bugs/7152.
            • Ddoc now emits module COPYRIGHT macro by default to address D.bugs/7148.
            • dmd now lists -gc switch to address D.bugs/7187.
            • For Bugzilla 77, dmd now stops after first static assert error, and before template expansions after errors.

            Bugs Fixed

            Version D 0.157 May 10, 2006

            New/Changed Features

            • Partial Dwarf symbol debug info now generated for Linux.
            • Improved dumpobj's handling of Dwarf symbolic debug info.

            Bugs Fixed

            • Applied Dave Fladebo's fix to gc internal sorting problem.
            Version D 0.156 Apr 28, 2006

            Bugs Fixed

            Version D 0.155 Apr 27, 2006

            New/Changed Features

            • Added Microsoft windbg.exe Win32 debugger.
            • Removed std.recls, instead use http://synesis.com.au/software/recls/.
            • Incorporated Dave Fladebo's changes:
              • std.regexp speedups.
              • Fixed a bug in pauseHandler whereby the stackTop was being overwritten by subsequently resumed threads causing a crash in gcx.mark(). (The fix was to just move sem_post(&flagSuspend); to right before the sigsuspend loop).
              • Moved linux semaphore declarations to std/c/linux/linux.d
              • Changed void wait(uint milliseconds){} to be a timed wait function instead of just a stub for void wait() {} on linux (it is comparable to the Win32 Thread method now). This is implemented with pthread mutexes and conditions and the extra overhead to initialize phobos Threads does not result in slower executables (Threads, GC and startup time are not effected).
              • Changed the allThreads static array size to the same as Windows. This in conjunction w/ the stack size change will allow the creation of more than 100 threads on linux for better compatibility w/ the Win32 version.
              • Added optional stack size parameter to constructors. Since the stackBottom is static when the threads are created and the stackTop is dynamic based on the stack pointer (or context for Win32), allowing the threads to be created with a non-default stack size shouldn't interfere with the GC. This adds little overhead to either the Win32 or Linux Thread implementations.

            Bugs Fixed

            Version D 0.154 Apr 11, 2006

            New/Changed Features

            • Numeric suffix 'l' now deprecated, use 'L' instead.
            • Floating point suffix 'I' now deprecated, use 'i' instead.

            Bugs Fixed

            • Removed --gc_sections, it causes exception handling to fail.
            Version D 0.153 Apr 7, 2006

            New/Changed Features

            • Changed parameter types for std.date.MakeDate and std.date.MakeTime so they won't overflow.
            • Changed arraycat per suggestion D.announce/3400.
            • Added -nofloat compiler switch to suppress generation of __fltused reference by library code (Windows only).
            • dmd for Linux now adds --gc-sections switch to the link step to enable smart linking.
            • Nested functions now are placed in their own distinct code sections to facilitate smart linking.

            Bugs Fixed

            Version D 0.152 Apr 3, 2006

            Bugs Fixed

            • Non-debug phobos.lib build included.
            Version D 0.151 Apr 2, 2006

            New/Changed Features

            • Changed the hash type from uint to hash_t. This will make 64 bit implementations better.

            Bugs Fixed

            Version D 0.150 Mar 18, 2006

            New/Changed Features

            • Implicit conversion of reals and imaginaries to complex is no longer allowed per Don Clugston's suggestion.
            • Moved string.h functions from std.string to std.c.string.
            • Now supports covariant interface method returns.

            Bugs Fixed

            Version D 0.149 Mar 7, 2006

            New/Changed Features

            • Changed on_scope_exit to scope(exit)
            • Changed on_scope_success to scope(success)
            • Changed on_scope_failure to scope(failure)
            • Changed IfStatement to allow: (auto v = expression), and (type v = expression) forms.
            • & | ^ &= |= ^= ! && || ?: are now only operators allowed on bools
            • opSliceAssign now overloads assignment to a slice.
            • Added std.c.fenv.
            • Added limited support for implicit function template instantiation.

            Bugs Fixed

            • Fixed bit problem with phobos\internal\gc\gcbits.d
            • Fixed D.bugs/6399
            • Fixed D.bugs/6419
            • Implicit casts of non-bool to bool disallowed
            • Fixed code gen bugs for OnScopeGuardStatements.
            Version D 0.148 Feb 25, 2006

            New/Changed Features

            • Removed MatchExpressions.
            • foreach loops can now implicitly determine the types in the ForeachTypelist.
            • IfStatements can now have an optional variable implicitly declared and assigned the value of the Expression.
            • Removed bit basic type.
            • Added bool basic type.
            • Added BitArray.
            • Added On Scope Statements.

            Bugs Fixed

            Version D 0.147 Feb 12, 2006

            New/Changed Features

            • Renamed std.regexp.RegExpError to RegExpException.
            • -run switch changed so that the source file to compile must appear immediately after it.
            • Added MatchExpressions
            • .

            Bugs Fixed

            Version D 0.146 Feb 9, 2006

            New/Changed Features

            • Improvements to the functionality of std.file.listdir().
            • Removed the long-deprecated instance keyword.
            • Ignores first line starting with #!, D/32661.
            • Added -run command line switch.
            • Added module statements to all std.typeinfo modules. This may require recompiling library code.

            Bugs Fixed

            Version D 0.145 Jan 29, 2006

            New/Changed Features

            Bugs Fixed

            Version D 0.144 Jan 22, 2006

            New/Changed Features

            • static if now can reference declarations in same scope.
            • Leading . no longer necessary for recursive template instantiations.

            Bugs Fixed

            • Constant folding of string==string now works.
            • Constant folding of length for char literals now works.
            • Constant folding of char literals appending chars now works.
            • Constant folding of char literal slices now works.
            • Fixed D.bugs/6003
            • Fixed D.bugs/6018
            • Fixed D.bugs/6027
            • Fixed D.bugs/6049
            Version D 0.143 Jan 9, 2006

            New/Changed Features

            • Added D.bugs/5987 std.path.expandTilde() by Grzegorz Adam Hankiewicz and Thomas Kuehne.
            • Added Don Clugston's improvements to std.math in D/31951.

            Bugs Fixed

            Version D 0.142 Dec 28, 2005

            New/Changed Features

            • AssertError now has a destructor, per proposal in D/31595.
            • Added D interface file support, with much help from Dave Fladebo.

            Bugs Fixed

            Version D 0.141 Dec 4, 2005

            New/Changed Features

            • The predefined version identifier D_InlineAsm has been changed to D_InlineAsm_X86. The former made no sense, and although it is still defined, it is deprecated.
            • Added D code coverage analyzer.
            • Added .mangleof property for types, which gives the 'mangled' type name as a string.

            Bugs Fixed

            Version D 0.140 Nov 23, 2005

            New/Changed Features

            • Added std.string.soundex.
            • Added std.string.entab.
            • Added std.string.wrap.
            • Added std.string.abbrev.
            • Added std.windows.charset (thanks to Stewart Gordon, D/28426).
            • Added std.demangle to demangle D names.
            • Improved promotion of names inside templates.
            • Now allows floating point and string literals as template value arguments.
            • To support the previous, the name mangling of template instances has changed. This will necessitate recompilation of any code that uses templates.
            • std.utf.UtfError is now deprecated. Use std.utf.UtfException instead.

            Bugs Fixed





            Forums | Comments |  D  | Search | Downloads | Home