Change Log: 2.087.1 - D Programming Language
Description: D Programming Language
Keywords: D programming language

Menu

- Learn
- Documentation
  - Language Reference
  - Library Reference
  - Command-line Reference
  - Feature Overview
  - Articles
- Downloads
- Packages
- Community
  - Blog
  - Orgs using D
  - Twitter
  - Forums
  - IRC
  - Community Discord
  - Wiki
  - GitHub
  - Issues
  - Get involved
  - Contributors
  - Foundation
  - Security Team
  - Donate
  - Sponsors
- Resources
  - Tour
  - Books
  - Tutorials
  - Tools
  - Editors
  - IDEs
  - run.dlang.io
  - Visual D
  - Acknowledgments
  - D Style
  - Glossary
  - Sitemap

Search
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

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.

#### Runtime changes

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

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.

- Basile Burg
- Basile-z
- Boris Carvajal
- Harry T. Vennik
- Hiroki Noda
- Jacob Carlborg
- karita
- Les De Ridder
- Martin Kinkelin
- Martin Nowak
- Mathias Lang
- Mathis Beer
- Márcio Martins
- Nicholas Wilson
- Paul Backus
- Radu Racariu
- Rainer Schuetze
- Razvan Nitu
- Shigeki Karita
- shove
- Stefan Koch
- Timon Gehr
- Walter Bright
- سليمان السهمي (Suleyman Sahmi)

Copyright © 1999-2023 by the D Language Foundation | Page generated by Ddoc on Sat Apr 1 13:10:02 2023