Re: nogc v0.5.0 - DIP1008 works!

2019-05-29 Thread Valeriy Fedotov via Digitalmars-d-announce

On Monday, 27 May 2019 at 14:26:16 UTC, ag0aep6g wrote:
Oh, yeah. Getting @trusted right is hard. Getting it right when 
user-provided types are involved is extra hard, because you 
can't even trust fundamental operations like assignment or 
copying.


In my point of view @trusted means "I use pointer-related 
operations correctly. Also I am using all @system interfaces 
correctly". The code in question uses allocator interface 
correctly. User of this code has a contract to supply allocator 
that conforms to this interface. If a user supplies mallocator 
that is not correct, there are two possibilities:


- Allocator is buggy. Nothing to do with @trusted code.
- Allocator do not conforms to allocator interface. User has 
broken the contract. Nothing to do with @trusted code.


I think we should keep in mind not only technical aspects of 
@trusted and @system, but this contract too.


Re: Containerize Your D Server Application

2019-04-19 Thread Valeriy Fedotov via Digitalmars-d-announce

On Friday, 19 April 2019 at 20:51:56 UTC, Andre Pany wrote:

On Friday, 19 April 2019 at 20:45:12 UTC, Valeriy Fedotov wrote:

On Thursday, 14 March 2019 at 12:38:30 UTC, Mike Parker wrote:

[...]


Seems that multithe tutorial no longer works.

```
The dependency resolution process is taking too long. The 
dependency graph is likely hitting a pathological case in the 
resolution algorithm. Please file a bug report at 
https://github.com/dlang/dub/issues and mention the package 
recipe that reproduces this error.

```

[...]


This question occurs from time to time. Dub version 1.8. is 
very old and the error you mentioned is fixed in the meantime. 
Your issue is fixed by update to a recent compiler (which 
includes a recent dub).


Kind regards
Andre


Sadly, it is not only my issue, it is reproduced for everyone 
wanting to make a multi-stage build with Dockerfile.multi from 
tutorial.


I have made the PR to fix it (install fresh dmd and dub), but 
tutorial should be fixed too.




Re: Containerize Your D Server Application

2019-04-19 Thread Valeriy Fedotov via Digitalmars-d-announce

On Thursday, 14 March 2019 at 12:38:30 UTC, Mike Parker wrote:
One of the items on my list of "things I'd like to do if I only 
had the time" is to create a Mud server with D and deploy it 
with Docker. Just for kicks. If I ever do get around to it, my 
ignorance of all things Docker will not be the time sink it 
could have been thanks to this latest post on the D Blog by Kai 
Nacke.


The Blog
https://dlang.org/blog/2019/03/14/containerize-your-d-server-application/

Reddit
https://www.reddit.com/r/programming/comments/b0zqck/containerize_your_d_server_application/


Seems that multithe tutorial no longer works.

```
The dependency resolution process is taking too long. The 
dependency graph is likely hitting a pathological case in the 
resolution algorithm. Please file a bug report at 
https://github.com/dlang/dub/issues and mention the package 
recipe that reproduces this error.

```

Seems for me as issue of very old dub version. Running `dub 
--version` in the container shows


```
DUB version 1.8.0-3, built on May  7 2018
```

Image tag is ubuntu:cosmic, it is relatively fresh distro 
(18.10). It is very sad, that dub from official ubuntu repo can 
not compile any vibe.d app because of this issue. Even in desktop 
installation.


Anyway, the tutoial should be fixed, for example with usage of 
official Dlang docker image dlang2/dmd-ubuntu. But changing 
dlang2/dmd-ubuntu does not simply works either, because it is 
based on ubuntu artful 17.10, and 17.10 does not have libssl1.1. 
I tried to switch to libssl1.0, but then I got linker errors.


Maybe for this beginner tutorial makes sense disabling SSL and 
swithing to dlang2/dmd-ubuntu base image?


P.S. My first post here. :)