Report a bug
If you spot a problem with this page, click here to create a Bugzilla issue.
Improve this page
Quickly fork, edit online, and submit a pull request for this page. Requires a signed-in GitHub account. This works well for small changes. If you'd like to make larger changes you may want to consider using a local clone.

Change Log: 2.087.1

previous version: 2.087.0 – next version: 2.088.0

Download D 2.087.1
released Aug 04, 2019

2.087.1 comes with 1 major change and 33 fixed Bugzilla issues. A huge thanks goes to the 24 contributors who made 2.087.1 possible.

List of all bug fixes and enhancements in D 2.087.1.

Runtime changes

  1. Add all missing symbols to core.sys.darwin.mach.loader

    This also updates the module to match header in the macOS 10.15 SDK.


List of all bug fixes and enhancements in D 2.087.1:

DMD Compiler regressions

  1. Bugzilla 19295: ICE when taking address of member function passed as template parameter
  2. Bugzilla 20011: [REG] modification of member of a manifest constant that's also a struct is allowed
  3. Bugzilla 20022: POSIX: extern(C++, namespace) does not apply namespace to enum
  4. Bugzilla 20056: DMD Segfault in 2.087
  5. Bugzilla 20063: compiler segfaults on passing templates expression to lazy val
  6. Bugzilla 20067: [REG2.086] foreach no longer works on range with alias front

DMD Compiler bugs

  1. Bugzilla 930: Templates inside templates used as mixins
  2. Bugzilla 11856: DMD segfault with circular template constraints
  3. Bugzilla 17828: [ICE] Internal error: ddmd/backend/cgcs.c 352 - CTFE appending to an array on a struct from a template
  4. Bugzilla 17885: Unable to remove a tuple from associative array.
  5. Bugzilla 19708: Can't use __traits(getAttributes, ...)[...] as a type
  6. Bugzilla 19950: access violation at compile time, possibly via template constraint and alias interaction
  7. Bugzilla 20019: Symbol not found: _dyld_enumerate_tlv_storage on macOS 10.15
  8. Bugzilla 20025: alias this combined with a copy constructor seems to lead to undefined behaviour.
  9. Bugzilla 20035: [ICE] Segmentation fault in ExpressionPrettyPrintVisitor::visit(IntegerExp*) at dmd/hdrgen.d:1775
  10. Bugzilla 20039: ICE from double template instantiation with getMember of overload of class and template function
  11. Bugzilla 20042: __vector CTFE crashes the compiler
  12. Bugzilla 20044: Compiler crash when using an opaque struct as template parameter
  13. Bugzilla 20045: bogus error: "integer constant expression expected instead of (uint).sizeof"
  14. Bugzilla 20048: [Windows] Program segfaults when running tests
  15. Bugzilla 20051: ICE in func literal used in __traits(compiles)
  16. Bugzilla 20052: SIMD 32 bytes causes obscure segfault
  17. Bugzilla 20072: [2.087.0] Mixin templates: no property somevar for type some.Type, did you mean some.Type.__anonymous.somevar?

DMD Compiler enhancements

  1. Bugzilla 20065: Empty AliasSeq can't be used to form compiletime array literal

Phobos bugs

  1. Bugzilla 16132: std.variant.VariantN does not work with a class that inherits from a template instantiation
  2. Bugzilla 19696: ReplaceType replaces type with the type forwarding using alias this
  3. Bugzilla 19697: ReplaceType fails to compile for self-referential inheritance chains
  4. Bugzilla 20046: someAllocator.make!T doesn't compile if T is a shared value type
  5. Bugzilla 20070: [2.087.0] std.conv.toImpl matches two functions when using static arrays as inout( T )

Phobos enhancements

  1. Bugzilla 19838: RefCounted fails to instantiate due to pureness of moveEmplace
  2. Bugzilla 20043: Tuple.rename doesn't work with const

Druntime bugs

  1. Bugzilla 20026: retrying while pthread_cond_signal/pthread_cond_broadcast return EAGAIN
  2. Bugzilla 20049: object.destroy doesn't propagate attributes

Contributors to this release (24)

A huge thanks goes to all the awesome people who made this release possible.

previous version: 2.087.0 – next version: 2.088.0