Re: vibe.d 0.8.0 and 0.7.31 beta releases

2017-02-03 Thread yazd via Digitalmars-d-announce
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

2017-02-03 Thread yazd via Digitalmars-d-announce

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

2015-03-06 Thread yazd via Digitalmars-d-announce

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