D语言/dlang 2.085.0 发布,GC、Objective-C 混编增强

百度智能云 云生态狂欢季 热门云产品1折起>>>  hot3.png

近些年以来 dlang 版本发布节奏稳健,编译器更新越来越实用,这个版本附带了上下文感知断言消息、较低的 GC 内存使用方式、精确的 GC、对链接自定义 GC 的支持、大量的 Objective-C 混编改进,以及对 DUB 的工具链需求。这次发布也结束了对 OSX-32 的官方支持。

DMD 编译器改进:

  1. Add support for Objective-C classes
  2. Add support for Objective-C instance variable
  3. Add support for Objective-C super calls
  4. Deprecate Objective-C interfaces
  5. Context-aware assertion error messages
  6. Avoid calling the struct constructor from const-casts
  7. dmd now supports expressive diagnostic error messages with -verrors=context
  8. memcmp() compares are no longer performed for struct equality tests, memberwise comparisons are done instead, per the spec
  9. OSX 32-bit is no longer supported
  10. -preview and -revert command line switches have been introduced
  11. Transition to C++11 character types

Runtime 运行时改进:

  1. Added GC.profileStats() to core.memory
  2. Added core.stdcpp.new_
  3. Added core.sys.linux.sched.CPU_COUNT.
  4. Added core.sys.linux.sched.CPU_ISSET.
  5. Moved std.conv.emplace, std.algorithm.mutation.move, std.algorithm.mutation.moveEmplace, and std.functional.forward to core/lifetime.d
  6. GC cleanup can now be configured as a DRT GC option
  7. A garbage collector with precise heap scanning can now be selected
  8. GC.realloc is now more consistent and robust
  9. User supplied garbage collectors can now be linked with the runtime
  10. Added core.stdcpp.allocator
  11. char/wchar fields in most D runtime (core.* and rt.*) structs are now zero-initialized

包管理器 dub 改进:

  1. dub fetch now supports @ as a shortcut
  2. extraDependencyFiles attribute added
  3. File system supplier enabled
  4. toolchainRequirements recipe entry

Dlang 官方完整的发行细节说明:

https://dlang.org/changelog/2.085.0.html

你可能感兴趣的:(D语言/dlang 2.085.0 发布,GC、Objective-C 混编增强)