发布于 2016-11-01 08:26:02 | 153 次阅读 | 评论: 0 | 来源: 网友投递
D语言
D语言是由Digital Mars公司开发的编程语言,起因是为了改进C++。D 语言既有 C 语言的强大威力,又有 Python 和 Ruby 的开发效率。它是一种集垃圾回收、手工内存操作、契约式设计、高级模板技术、内嵌汇编、内置单元测试、Mixin 风格多继承、类 Java 包管理机制、内置同步机制、内建基本运行时信息的系统级编程语言。
D是具有类C语法和静态类型的系统编程语言。 它将效率,控制和建模能力与安全性和程序员生产力相结合。
released Oct 30, 2016
Using the result of a comma expression is deprecated.
Implicit catch statement are deprecated.
Implicit string concatenation is deprecated.
Restrictions of postblits and destructors in union fields have been lifted.
Align attribute can be used with CTFEable expression.
scope is ignored for value parameters without indirections.
opApply now conservatively allocates a closure unless marked scope
Add -transition=safe switch to enable additional @safe checks.
Native TLS on OS X 64 bit.
Analysis for aliases in imported modules is deferred.
Special keyword replaced by the source file's absolute file name.
Add -verrors=spec switch.
TypeInfo.init has been deprecated.
New druntime switch --DRT-oncycle allows specifying what to do on cycle detection in modules.
Wrong @trusted attributes have been removed from etc.c.curl functions curl_easy_escape, curl_escape,curl_easy_unescape, and curl_unescape.
Implementation of MurmurHash digest.
Process creation in std.process was sped up on Posix.
algorithm.iteration.cumulativeFold was added.
std.range.padLeft and std.range.padRight were added.
std.regex.regex now supports matching multiple patterns in one go.
std.regex.splitter now supports keeping the pattern matches in the resulting range.
findLocalMin was added to std.numeric.
ptr property and public constructor were added to std.experimental.ndslice.slice.Slice.
toHash method was added to std.experimental.ndslice.slice.Slice.
slice, shape, ndarray, and other utilities were added to std.experimental.ndslice.slice.
as lazy tensor was added to std.experimental.ndslice.slice.
iotaSlice lazy tensor was added to std.experimental.ndslice.selection.
indexSlice lazy tensor was added to std.experimental.ndslice.selection.
repeatSlice lazy tensor was added to std.experimental.ndslice.selection.
mapSlice lazy tensor was added to std.experimental.ndslice.selection.
partial support for Math Index Order was added to std.experimental.ndslice.slice.Slice.
std.algorithm.mutation.swapAt was exposed
std.range.iota's .length` property is fixed to size_t instead of the type being iterated
std.uni.isNumber and std.uni.isPunctuation now use a separate, optimized path for ASCII inputs.
std.uni.isAlphaNum, which is analogous to std.ascii.isAlphaNum was added.
std.regex.regex now supports inline comments with (?#...) syntax.
std.regex had numerous optimization applied, compile-time std.regex.ctRegex should now be generally faster then the run-time version.
std.range.primitives.moveAt accepts only size_t for its index arguments.
std.algorithm.sorting.isStrictlyMonotonic which doesn't allow equal values was added.
std.file.readLink and std.file.symlink have been rangified.
All overloads of std.conv.toImpl has been made private. Please use std.conv.to instead.
std.algorithm.searching.{min,max}Element for ranges have been added.
std.typecons.Ternary was added to represent three valued logic.
Added std.math.quantize, for rounding to the nearest multiple of some number.
Three new traits were added to std.traits.
std.range.generate fixed to be a proper range.
std.numeric no longer uses enforce for verifying contract preconditions.
Final was added to std.experimental.typecons
std.traits.isInnerClass was added to identify nested classes with an accessible outer pointer
std.conv.emplace no longer allows to emplace classes directly nested inside other classes without specifying a suitableouter pointer
A switch for selecting the GC implementation at runtime was added.
A GC implementation allowing manual memory management was added.
完整版更新内容请查看:List of all bug fixes and enhancements in D 2.072.0.