Quantcast
Channel: OSCHINA 社区最新新闻
Viewing all articles
Browse latest Browse all 44787

D语言卷土重来,发布 2.072 版重要更新

$
0
0

D是具有类C语法和静态类型的系统编程语言。 它将效率,控制和建模能力与安全性和程序员生产力相结合。

Download D 2.072.0

released Oct 30, 2016

Language Changes

  1. Using the result of a comma expression is deprecated.

  2. Implicit catch statement are deprecated.

  3. Implicit string concatenation is deprecated.

  4. Restrictions of postblits and destructors in union fields have been lifted.

  5. Align attribute can be used with CTFEable expression.

  6. scope is ignored for value parameters without indirections.

Compiler Changes

  1. opApply now conservatively allocates a closure unless marked scope

  2. Add -transition=safe switch to enable additional @safe checks.

  3. Native TLS on OS X 64 bit.

  4. Analysis for aliases in imported modules is deferred.

  5. Special keyword replaced by the source file's absolute file name.

  6. Add -verrors=spec switch.

Library Changes

  1. TypeInfo.init has been deprecated.

  2. New druntime switch --DRT-oncycle allows specifying what to do on cycle detection in modules.

  3. Wrong @trusted attributes have been removed from etc.c.curl functions curl_easy_escape, curl_escape,curl_easy_unescape, and curl_unescape.

  4. Implementation of MurmurHash digest.

  5. Process creation in std.process was sped up on Posix.

  6. algorithm.iteration.cumulativeFold was added.

  7. std.range.padLeft and std.range.padRight were added.

  8. std.regex.regex now supports matching multiple patterns in one go.

  9. std.regex.splitter now supports keeping the pattern matches in the resulting range.

  10. findLocalMin was added to std.numeric.

  11. ptr property and public constructor were added to std.experimental.ndslice.slice.Slice.

  12. toHash method was added to std.experimental.ndslice.slice.Slice.

  13. slice, shape, ndarray, and other utilities were added to std.experimental.ndslice.slice.

  14. as lazy tensor was added to std.experimental.ndslice.slice.

  15. iotaSlice lazy tensor was added to std.experimental.ndslice.selection.

  16. indexSlice lazy tensor was added to std.experimental.ndslice.selection.

  17. repeatSlice lazy tensor was added to std.experimental.ndslice.selection.

  18. mapSlice lazy tensor was added to std.experimental.ndslice.selection.

  19. partial support for Math Index Order was added to std.experimental.ndslice.slice.Slice.

  20. std.algorithm.mutation.swapAt was exposed

  21. std.range.iota's .length` property is fixed to size_t instead of the type being iterated

  22. std.uni.isNumber and std.uni.isPunctuation now use a separate, optimized path for ASCII inputs.

  23. std.uni.isAlphaNum, which is analogous to std.ascii.isAlphaNum was added.

  24. std.regex.regex now supports inline comments with (?#...) syntax.

  25. std.regex had numerous optimization applied, compile-time std.regex.ctRegex should now be generally faster then the run-time version.

  26. std.range.primitives.moveAt accepts only size_t for its index arguments.

  27. std.algorithm.sorting.isStrictlyMonotonic which doesn't allow equal values was added.

  28. std.file.readLink and std.file.symlink have been rangified.

  29. All overloads of std.conv.toImpl has been made private. Please use std.conv.to instead.

  30. std.algorithm.searching.{min,max}Element for ranges have been added.

  31. std.typecons.Ternary was added to represent three valued logic.

  32. Added std.math.quantize, for rounding to the nearest multiple of some number.

  33. Three new traits were added to std.traits.

  34. std.range.generate fixed to be a proper range.

  35. std.numeric no longer uses enforce for verifying contract preconditions.

  36. Final was added to std.experimental.typecons

  37. std.traits.isInnerClass was added to identify nested classes with an accessible outer pointer

  38. std.conv.emplace no longer allows to emplace classes directly nested inside other classes without specifying a suitableouter pointer

  39. A switch for selecting the GC implementation at runtime was added.

  40. A GC implementation allowing manual memory management was added.


完整版更新内容请查看:List of all bug fixes and enhancements in D 2.072.0.


Viewing all articles
Browse latest Browse all 44787

Trending Articles