Re: vibe.d 0.8.0 and 0.7.31 beta releases

2017-03-28 Thread Sönke Ludwig via Digitalmars-d-announce

Am 28.03.2017 um 15:46 schrieb John Colvin:

On Thursday, 9 February 2017 at 19:40:45 UTC, Sönke Ludwig wrote:

Am 09.02.2017 um 18:00 schrieb Kagamin:

On Wednesday, 8 February 2017 at 15:18:34 UTC, Sönke Ludwig wrote:

The problem is that there are two affected call stacks - the @system
API function that registers the @system callback, wrapping/casting it
as @trusted, and the event handler that later on actually calls the
callback. The latter place is where the hidden violation of the @safe
guarantees happens.


Hidden from whom? Since it's user, who supplies @system code to vibe, he
knows that the resulting program doesn't provide @safe guarantees.
It can be communicated at the API level:

int f(@safe void delegate() dg) @safe
{ code }
int f(@system void delegate() dg) @system
{ return f(cast(@safe void delegate())dg); }

So that unsafe overload would be only callable from unsafe code.


Hidden from the code that calls the callback. This may be an
acceptable trade off in this particular case, because this is crossing
a library border, but in general this is just misuse of the safety
system, since the effects of the cast leave the scope of
@system/@trusted.

I don't know, I don't really like this, but maybe I should just
postpone the `deprecated` attribute to be added for 0.8.1 to leave
more room for a final decision.


Just ran in to this trying to update a large project to 0.7.31-rc.2. The
change to HTTPServerRequestDelegate breaks code where we have @system
callbacks that it would not be sensible to make @trusted at the moment.
What can we do?


Are you sure that you didn't get 0.8.0-beta.x by accident? The 0.7.31 
release shouldn't contain any safety related changes. 0.8.0 is supposed 
to handle any @system-callbacks gracefully, though, can you post the 
line that fails, possibly along with the signature of the handler function?


Re: SpaceD - a racing game written in D

2017-03-28 Thread WebFreak001 via Digitalmars-d-announce

On Tuesday, 28 March 2017 at 15:29:03 UTC, Dukc wrote:
One more note, the dub package descriptor says "MIT license". 
You may want to change that to copyleft if you continue 
development, so competing companies cannot use that as base to 
make a clone of your future full version game.


eh I don't mind


Re: SpaceD - a racing game written in D

2017-03-28 Thread Dukc via Digitalmars-d-announce
One more note, the dub package descriptor says "MIT license". You 
may want to change that to copyleft if you continue development, 
so competing companies cannot use that as base to make a clone of 
your future full version game.


Re: SpaceD - a racing game written in D

2017-03-28 Thread Dukc via Digitalmars-d-announce

On Tuesday, 21 March 2017 at 00:49:14 UTC, WebFreak001 wrote:
I just released my racing game I have been working on for the 
past few days for a linux game jam on itch.io[1].


It is an open source[2] 3D racing game in space (tracks/physics 
are 2D though) and I'm quite proud how it turned out. It 
contains a track editor with blender-like shortcuts, an online 
track browser where you can also submit your own tracks, a shop 
where you can buy upgrades and it saves your personal bests per 
track.


It's available for free on Windows and Linux, but you can also 
buy it for any price if you think I made a good job and if you 
want to reward me.


[1]: https://webfreak.itch.io/spaced
[2]: https://github.com/WebFreak001/linux-jam


Feels much like boat racing. However, prone to crashes, at least 
on Windows. Luckily they are normal exceptions, not segfaults. 
Your average gamer probably will not like when he is informed 
that it's an Object.Exception and a stack trace. However, I do. 
It encouraged me enough to consider fixing it myself!


Re: vibe.d 0.8.0 and 0.7.31 beta releases

2017-03-28 Thread John Colvin via Digitalmars-d-announce

On Thursday, 9 February 2017 at 19:40:45 UTC, Sönke Ludwig wrote:

Am 09.02.2017 um 18:00 schrieb Kagamin:
On Wednesday, 8 February 2017 at 15:18:34 UTC, Sönke Ludwig 
wrote:
The problem is that there are two affected call stacks - the 
@system
API function that registers the @system callback, 
wrapping/casting it
as @trusted, and the event handler that later on actually 
calls the
callback. The latter place is where the hidden violation of 
the @safe

guarantees happens.


Hidden from whom? Since it's user, who supplies @system code 
to vibe, he
knows that the resulting program doesn't provide @safe 
guarantees.

It can be communicated at the API level:

int f(@safe void delegate() dg) @safe
{ code }
int f(@system void delegate() dg) @system
{ return f(cast(@safe void delegate())dg); }

So that unsafe overload would be only callable from unsafe 
code.


Hidden from the code that calls the callback. This may be an 
acceptable trade off in this particular case, because this is 
crossing a library border, but in general this is just misuse 
of the safety system, since the effects of the cast leave the 
scope of @system/@trusted.


I don't know, I don't really like this, but maybe I should just 
postpone the `deprecated` attribute to be added for 0.8.1 to 
leave more room for a final decision.


Just ran in to this trying to update a large project to 
0.7.31-rc.2. The change to HTTPServerRequestDelegate breaks code 
where we have @system callbacks that it would not be sensible to 
make @trusted at the moment. What can we do?


Re: Beta 2.074.0-b1

2017-03-28 Thread H. S. Teoh via Digitalmars-d-announce
On Tue, Mar 28, 2017 at 09:49:59AM +, Andrej Mitrovic via 
Digitalmars-d-announce wrote:
> On Friday, 24 March 2017 at 17:35:58 UTC, Martin Nowak wrote:
> > First beta for the 2.074.0 release.
> > 
> > This release comes with plenty of phobos additions and a new
> > std.experimental module.
> > 
> > http://dlang.org/download.html#dmd_beta
> > http://dlang.org/changelog/2.074.0.html
> > 
> > Please report any bugs at https://issues.dlang.org
> > 
> > -Martin
> 
> Very cool about the new format!() feature. What about extending this
> to writef(ln)?

That has already been done: see Phobos PR #5296.


T

-- 
Try to keep an open mind, but not so open your brain falls out. -- theboz


Re: Beta 2.074.0-b1

2017-03-28 Thread Andrej Mitrovic via Digitalmars-d-announce

On Friday, 24 March 2017 at 17:35:58 UTC, Martin Nowak wrote:

First beta for the 2.074.0 release.

This release comes with plenty of phobos additions and a new 
std.experimental module.


http://dlang.org/download.html#dmd_beta 
http://dlang.org/changelog/2.074.0.html


Please report any bugs at https://issues.dlang.org

-Martin


Very cool about the new format!() feature. What about extending 
this to writef(ln)?


Re: Beta 2.074.0-b1

2017-03-28 Thread 9il via Digitalmars-d-announce

On Friday, 24 March 2017 at 17:35:58 UTC, Martin Nowak wrote:

First beta for the 2.074.0 release.

This release comes with plenty of phobos additions and a new 
std.experimental module.


http://dlang.org/download.html#dmd_beta 
http://dlang.org/changelog/2.074.0.html


Please report any bugs at https://issues.dlang.org

-Martin


Thank you!

I have update changelog for mir related items: 
https://github.com/dlang/phobos/pull/5308


Ilya