Vibe.d no more using static this() {}

aberba karabutaworld at gmail.com
Sun Feb 25 15:58:33 UTC 2018


On Sunday, 25 February 2018 at 01:15:06 UTC, Seb wrote:
> On Friday, 23 February 2018 at 23:11:13 UTC, aberba wrote:
>> I recently noticed vibe.d now using main loop which call the 
>> vibe.d event loop.
>
> "Recently"?
> FWIW this has been phased out a long time ago ;-)
That's how I've been doing it 
http://aberba.com/2016/form-upload-in-vibe-d/
>
> ---
>
> 0.7.23 (2015)
>
>> Definition of either VibeCustomMain or VibeDefaultMain is now 
>> a hard requirement - this is the final deprecation phase for 
>> VibeCustomMain
>
> https://github.com/vibe-d/vibe.d/blob/master/CHANGELOG.md#features-and-improvements-10
>
>> Added a compile time warning when neither VibeCustomMain, nor 
>> VibeDefaultMain versions are specified - starts the transition 
>> from VibeCustomMain to VibeDefaultMain
>
> https://github.com/vibe-d/vibe.d/blob/master/CHANGELOG.md#features-and-improvements-14
>
>
> 0.7.30 (2016)
>
>> Added runApplication as a single API entry point to properly 
>> initialize and run a vibe.d application (this will serve as 
>> the basis for slowly phasing out the VibeDefaultMain 
>> convenience mechanism)
>
> https://github.com/vibe-d/vibe.d/blob/master/CHANGELOG.md#features-and-improvements-4

I should take these changelogs seriously and read into details.
>
> ---
>
>
>> Why that change?
>
> In short, because there are too many problems with starting the 
> eventloop by default without stating so and requiring the user 
> to know what's going on. I don't know all the reasons, but one 
> example that comes to my mind is that if you use Vibe.d for a 
> simple curl-like script, you might be wondering why it never 
> exits.
> Also you mention `static this` in your title, but usually 
> `shared static this` should be used.
Oh. I've been using "static this". Noted.
>
>
> There are also other concerns, e.g. the @safe-ty of the 
> eventloop is never checked when you use the default main method.
>
>
> Hence, in 2014 VibeDefaultMain was introduced to move away 
> VibeCustomMain (which required the user to take explicit action 
> when the eventloop shouldn't run).
>
> Nowadays, a user neds to choose whether to use the default main 
> loop (versions "VibeDefaultMain") or call 
> runEventLoop/runApplication, but "VibeDefaultMain" with shared 
> static this is deprecated.

static this seemed clean though :)



More information about the Digitalmars-d-learn mailing list