On Monday, 10 April 2017 at 23:43:04 UTC, David Nadlinger wrote:
On Monday, 10 April 2017 at 23:27:35 UTC, Walter Bright wrote:
The next problem is that dmd occasionally changes the interface to the D runtime. […] I also do not know how the gdc/lds druntime
interfaces differ.

Just to make this very clear to everybody reading this thread: It's not even just that, but also the fact that we guarantee API-, but not ABI-stability for Phobos. Every time we continue to improve the pure/nothrow/@nogc situation by marking up some more code, we are breaking the ABI, because the mangled names of the involved symbols change. The ongoing work on `scope` also breaks the ABI when enabled.

If you could change the SOVERSION with every one of these changes, or simply just tie it to the respective Phobos release, distributions would automatically do the right thing and compile all D code using Phobos against the new version. This might give Phobos a large soversion or and ugly one like "2.074", but it would work. (LDC's Phobos and GDC's Phobos already have a soversion set in Debian...)

Reply via email to