Re: vibe.d 0.8.0 and 0.7.31 beta releases
On Friday, 3 February 2017 at 12:25:42 UTC, Dominikus Dittes Scherkl wrote: On Friday, 3 February 2017 at 09:28:26 UTC, yazd wrote: Is it possible to have non-@safe callbacks be part of the non-deprecated API? Why? A @safe API allows you to use it within @safe code, but it doesn't require you to also write @safe code. Especially if you don't like to annotate your code to be @safe, even if you think it is safe, this doesn't hinders you to use other peoples @safe code. Only the reverse is a problem (other people, who like to annotate their code @safe, can't use your code if it is not annotated - so they start to ignore your code even if it would be @safe only because you don't bother). What you are saying is true when you are the caller, but in this case, the callbacks provided to the API are what is required to be @safe and accordingly my code is required to be @safe. For example, this is the signature for `setTimer`: Timer setTimer(Duration timeout, void delegate() nothrow @safe callback, bool periodic = false) @safe nothrow; I can't even use `logInfo("%s", ex)` where `ex` is an `Exception` in @safe code, because `Exception.toString()` isn't @safe and it can't be @safe because it is a virtual function, and there are many cases of such problems.
Re: vibe.d 0.8.0 and 0.7.31 beta releases
On Tuesday, 31 January 2017 at 11:11:28 UTC, Sönke Ludwig wrote: The first release of the revamped core module [1] is nearing, and along with that, a compatible vibe.d release (0.8.0). The new core module is still opt-in in this release and can be activated using a `subConfiguration "vibe-d:core" "vibe-core"` directive in dub.sdl (`"subConfigurations": {"vibe-d:core": "vibe-core"}` in dub.json). I am always excited to see a new release of vibe-d. Thank you! - Large parts of the API are now annotated with nothrow and @safe. In case of APIs that depend on callbacks, these can be breaking changes, but the most prominent places have deprecation paths in place. Is it possible to have non-@safe callbacks be part of the non-deprecated API? Personally, I think @safe adds very little value compared to the headaches it causes and the time and efforts required to have every piece of your code properly annotated (it is sometimes impossible when using dependencies or even phobos and druntime without going into the lengthy process of doing upstream changes and waiting for new versions). I don't think it adds value because I write my code in idiomatic D, which is mostly safe in reality but not necessarily @safe compliant. On the other hand, I am all for nothrow changes.
Re: D 2.067.0-b3
On Wednesday, 4 March 2015 at 00:49:04 UTC, Martin Nowak wrote: Glad to announce the third 2.067.0 beta, this time with installers and documentation. https://dlang.dawg.eu/downloads/dmd.2.067.0-b3/ Soon to be mirrored and available on Travis-CI. http://downloads.dlang.org/pre-releases/2.x/2.067.0/ http://ftp.digitalmars.com/ This beta comes with 7 dmd and 2 phobos fixes on top of 2.067.0-b2. https://github.com/D-Programming-Language/dmd/compare/v2.067.0-b2...v2.067.0-b3 https://github.com/D-Programming-Language/phobos/compare/v2.067.0-b2...v2.067.0-b3 - -Martin - -- To check the *.asc signatures, you can import https://dlang.dawg.eu/downloads/d-keyring.gpg or compare them with this key. pub 4096R/0xAB8FE924C2F7E724 2014-09-01 [expires: 2018-03-03] Key fingerprint = AFC7 DB45 693D 62BB 472B F27B AB8F E924 C2F7 E724 uidMartin Nowak (dawg) m...@dawg.eu uidMartin Nowak martin.no...@plugintheworld.com uidMartin Nowak c...@dawg.eu sub 4096R/0xA78068C444E12E4D 2014-09-01 [expires: 2018-03-03] Key fingerprint = 0D91 720A 3DA5 F106 CEB0 7070 A780 68C4 44E1 2E4D sub 4096R/0xB273811612BB1939 2015-02-27 [expires: 2018-03-03] Key fingerprint = A734 4DAD 3C34 1EA1 2D13 C4E6 B273 8116 12BB 1939 The changelog is missing notes about this: https://github.com/D-Programming-Language/dmd/pull/3651