Issues ... Edition 87
Benjiro
benjiro at benjiro.com
Sun Sep 29 11:23:04 UTC 2019
Going on the back of the Nim topic that has gone off-topic.
Code Example:
> #!/usr/bin/env dub
> /+ dub.sdl:
> dependency "vibe-d" version="~>0.8.0"
> +/
> void main()
> {
> import vibe.d;
> listenHTTP(":8080", (req, res) {
> res.writeBody("Hello, World: " ~ req.path);
> });
> runApplication();
> }
No mention this needs to be run with dub, instead of dmd.
Confusing as the other examples are dmd based.
User friendliness: 3/5
Outputs:
module dd;
> ../.dub/packages/vibe-d-0.8.5/vibe-d/data/vibe/data/json.d(79,8): Deprecation: alias std.json.JSON_TYPE is deprecated - Use JSONType
> ../.dub/packages/vibe-d-0.8.5/vibe-d/data/vibe/data/json.d(79,8): Deprecation: alias std.json.JSON_TYPE is deprecated - Use JSONType
> ../.dub/packages/vibe-d-0.8.5/vibe-d/data/vibe/data/json.d(215,9): Deprecation: enum member std.json.JSONType.NULL is deprecated - Use .null_
> ../.dub/packages/vibe-d-0.8.5/vibe-d/data/vibe/data/json.d(216,9): Deprecation: enum member std.json.JSONType.OBJECT is deprecated - Use .object
> ../.dub/packages/vibe-d-0.8.5/vibe-d/data/vibe/data/json.d(223,9): Deprecation: enum member std.json.JSONType.ARRAY is deprecated - Use .array
> ../.dub/packages/vibe-d-0.8.5/vibe-d/data/vibe/data/json.d(226,9): Deprecation: enum member std.json.JSONType.STRING is deprecated - Use .string
> ../.dub/packages/vibe-d-0.8.5/vibe-d/data/vibe/data/json.d(227,9): Deprecation: enum member std.json.JSONType.INTEGER is deprecated - Use .integer
> ../.dub/packages/vibe-d-0.8.5/vibe-d/data/vibe/data/json.d(228,9): Deprecation: enum member std.json.JSONType.UINTEGER is deprecated - Use .uinteger
> ../.dub/packages/vibe-d-0.8.5/vibe-d/data/vibe/data/json.d(229,9): Deprecation: enum member std.json.JSONType.FLOAT is deprecated - Use .float_
> ../.dub/packages/vibe-d-0.8.5/vibe-d/data/vibe/data/json.d(230,9): Deprecation: enum member std.json.JSONType.TRUE is deprecated - Use .true_
> ../.dub/packages/vibe-d-0.8.5/vibe-d/data/vibe/data/json.d(231,9): Deprecation: enum member std.json.JSONType.FALSE is deprecated - Use .false_
> ../.dub/packages/diet-ng-1.6.0/diet-ng/source/diet/parser.d(787,6): Deprecation: function std.typecons.Nullable!(Node[]).Nullable.get_ is deprecated - Implicit conversion with alias Nullable.get this will be removed after 2.096. Please use .get explicitly.
> ../.dub/packages/diet-ng-1.6.0/diet-ng/source/diet/parser.d(788,29): Deprecation: function std.typecons.Nullable!(Node[]).Nullable.get_ is deprecated - Implicit conversion with alias Nullable.get this will be removed after 2.096. Please use .get explicitly.
> /usr/include/dmd/phobos/std/range/primitives.d(174,38):
> Deprecation: function
> std.typecons.Nullable!(Node[]).Nullable.get_ is deprecated -
> Implicit conversion with alias Nullable.get this will be
> removed after 2.096. Please use .get explicitly.
> /usr/include/dmd/phobos/std/range/primitives.d(176,27):
> Deprecation: function
> std.typecons.Nullable!(Node[]).Nullable.get_ is deprecated -
> Implicit conversion with alias Nullable.get this will be
> removed after 2.096. Please use .get explicitly.
> /usr/include/dmd/phobos/std/range/primitives.d(1264,26):
> Deprecation: function
> std.typecons.Nullable!(Node[]).Nullable.get_ is deprecated -
> Implicit conversion with alias Nullable.get this will be
> removed after 2.096. Please use .get explicitly.
> /usr/include/dmd/phobos/std/range/primitives.d(1021,27):
> Deprecation: function
> std.typecons.Nullable!(Node[]).Nullable.get_ is deprecated -
> Implicit conversion with alias Nullable.get this will be
> removed after 2.096. Please use .get explicitly.
> /usr/include/dmd/phobos/std/range/primitives.d(1553,38):
> Deprecation: function
> std.typecons.Nullable!(Node[]).Nullable.get_ is deprecated -
> Implicit conversion with alias Nullable.get this will be
> removed after 2.096. Please use .get explicitly.
> /usr/include/dmd/phobos/std/range/primitives.d(2185,15):
> Deprecation: function
> std.typecons.Nullable!(Node[]).Nullable.get_ is deprecated -
> Implicit conversion with alias Nullable.get this will be
> removed after 2.096. Please use .get explicitly.
> /usr/include/dmd/phobos/std/algorithm/iteration.d(598,9):
> Deprecation: function
> std.typecons.Nullable!(Node[]).Nullable.get_ is deprecated -
> Implicit conversion with alias Nullable.get this will be
> removed after 2.096. Please use .get explicitly.
> /usr/include/dmd/phobos/std/algorithm/iteration.d(604,20):
> Deprecation: function
> std.typecons.Nullable!(Node[]).Nullable.get_ is deprecated -
> Implicit conversion with alias Nullable.get this will be
> removed after 2.096. Please use .get explicitly.
> /usr/include/dmd/phobos/std/algorithm/iteration.d(624,20):
> Deprecation: function
> std.typecons.Nullable!(Node[]).Nullable.get_ is deprecated -
> Implicit conversion with alias Nullable.get this will be
> removed after 2.096. Please use .get explicitly.
> ../.dub/packages/vibe-d-0.8.5/vibe-d/utils/vibe/utils/dictionarylist.d(77,22): Deprecation: alias byKeyValue this is deprecated - Iterate over .byKeyValue instead.
> ../.dub/packages/vibe-d-0.8.5/vibe-d/utils/vibe/utils/dictionarylist.d(77,22): Deprecation: alias byKeyValue this is deprecated - Iterate over .byKeyValue instead.
> ../.dub/packages/vibe-d-0.8.5/vibe-d/utils/vibe/utils/dictionarylist.d(77,22): Deprecation: alias byKeyValue this is deprecated - Iterate over .byKeyValue instead.
> ../.dub/packages/vibe-d-0.8.5/vibe-d/utils/vibe/utils/dictionarylist.d(77,22): Deprecation: alias byKeyValue this is deprecated - Iterate over .byKeyValue instead.
> ../.dub/packages/vibe-d-0.8.5/vibe-d/http/vibe/http/client.d(857,18): Deprecation: alias byKeyValue this is deprecated - Iterate over .byKeyValue instead.
> ../.dub/packages/vibe-d-0.8.5/vibe-d/http/vibe/http/client.d(947,18): Deprecation: alias byKeyValue this is deprecated - Iterate over .byKeyValue instead.
> ../.dub/packages/vibe-d-0.8.5/vibe-d/utils/vibe/utils/dictionarylist.d(77,22): Deprecation: alias byKeyValue this is deprecated - Iterate over .byKeyValue instead.
> ../.dub/packages/vibe-d-0.8.5/vibe-d/utils/vibe/utils/dictionarylist.d(77,22): Deprecation: alias byKeyValue this is deprecated - Iterate over .byKeyValue instead.
> ../.dub/packages/vibe-d-0.8.5/vibe-d/utils/vibe/utils/dictionarylist.d(77,22): Deprecation: alias byKeyValue this is deprecated - Iterate over .byKeyValue instead.
> ../.dub/packages/vibe-d-0.8.5/vibe-d/utils/vibe/utils/dictionarylist.d(77,22): Deprecation: alias byKeyValue this is deprecated - Iterate over .byKeyValue instead.
> ../.dub/packages/vibe-d-0.8.5/vibe-d/utils/vibe/utils/dictionarylist.d(77,22): Deprecation: alias byKeyValue this is deprecated - Iterate over .byKeyValue instead.
> ../.dub/packages/vibe-d-0.8.5/vibe-d/utils/vibe/utils/dictionarylist.d(77,22): Deprecation: alias byKeyValue this is deprecated - Iterate over .byKeyValue instead.
> ../.dub/packages/vibe-d-0.8.5/vibe-d/http/vibe/http/proxy.d(169,30): Deprecation: alias byKeyValue this is deprecated - Iterate over .byKeyValue instead.
> ../.dub/packages/vibe-d-0.8.5/vibe-d/http/vibe/http/proxy.d(180,24): Deprecation: alias byKeyValue this is deprecated - Iterate over .byKeyValue instead.
> ../.dub/packages/vibe-d-0.8.5/vibe-d/http/vibe/http/proxy.d(195,30): Deprecation: alias byKeyValue this is deprecated - Iterate over .byKeyValue instead.
> ../.dub/packages/vibe-d-0.8.5/vibe-d/http/vibe/http/proxy.d(207,23): Deprecation: alias byKeyValue this is deprecated - Iterate over .byKeyValue instead.
> ../.dub/packages/vibe-d-0.8.5/vibe-d/http/vibe/http/server.d(923,24): Deprecation: function std.typecons.Nullable!(CookieValueMap).Nullable.get_ is deprecated - Implicit conversion with alias Nullable.get this will be removed after 2.096. Please use .get explicitly.
> ../.dub/packages/vibe-d-0.8.5/vibe-d/http/vibe/http/server.d(936,38): Deprecation: function std.typecons.Nullable!(DictionaryList!(string, true, 16LU, false)).Nullable.get_ is deprecated - Implicit conversion with alias Nullable.get this will be removed after 2.096. Please use .get explicitly.
> ../.dub/packages/vibe-d-0.8.5/vibe-d/http/vibe/http/server.d(1015,18): Deprecation: function std.typecons.Nullable!(DictionaryList!(string, true, 16LU, false)).Nullable.get_ is deprecated - Implicit conversion with alias Nullable.get this will be removed after 2.096. Please use .get explicitly.
> ../.dub/packages/vibe-d-0.8.5/vibe-d/http/vibe/http/server.d(1706,18): Deprecation: alias byKeyValue this is deprecated - Iterate over .byKeyValue instead.
> ../.dub/packages/vibe-d-0.8.5/vibe-d/http/vibe/http/server.d(2337,17): Deprecation: alias byKeyValue this is deprecated - Iterate over .byKeyValue instead.
> ../.dub/packages/vibe-d-0.8.5/vibe-d/http/vibe/http/server.d(2287,18): Deprecation: alias byKeyValue this is deprecated - Iterate over .byKeyValue instead.
> /usr/include/dmd/phobos/std/range/primitives.d(174,38):
> Deprecation: alias byKeyValue this is deprecated - Iterate over
> .byKeyValue instead.
> /usr/include/dmd/phobos/std/range/primitives.d(176,27):
> Deprecation: alias byKeyValue this is deprecated - Iterate over
> .byKeyValue instead.
> /usr/include/dmd/phobos/std/range/primitives.d(174,38):
> Deprecation: alias byKeyValue this is deprecated - Iterate over
> .byKeyValue instead.
> /usr/include/dmd/phobos/std/range/primitives.d(176,27):
> Deprecation: alias byKeyValue this is deprecated - Iterate over
> .byKeyValue instead.
> ../.dub/packages/vibe-d-0.8.5/vibe-d/mail/vibe/mail/smtp.d(214,24): Deprecation: alias byKeyValue this is deprecated - Iterate over .byKeyValue instead.
> ../.dub/packages/vibe-d-0.8.5/vibe-d/utils/vibe/utils/dictionarylist.d(77,22): Deprecation: alias byKeyValue this is deprecated - Iterate over .byKeyValue instead.
> ../.dub/packages/vibe-d-0.8.5/vibe-d/utils/vibe/utils/dictionarylist.d(77,22): Deprecation: alias byKeyValue this is deprecated - Iterate over .byKeyValue instead.
> ../.dub/packages/vibe-d-0.8.5/vibe-d/mongodb/vibe/db/mongo/settings.d(130,27): Deprecation: alias byKeyValue this is deprecated - Iterate over .byKeyValue instead.
> ../.dub/packages/vibe-d-0.8.5/vibe-d/utils/vibe/utils/dictionarylist.d(77,22): Deprecation: alias byKeyValue this is deprecated - Iterate over .byKeyValue instead.
> ../.dub/packages/vibe-d-0.8.5/vibe-d/utils/vibe/utils/dictionarylist.d(77,22): Deprecation: alias byKeyValue this is deprecated - Iterate over .byKeyValue instead.
> ../.dub/packages/vibe-d-0.8.5/vibe-d/utils/vibe/utils/dictionarylist.d(77,22): Deprecation: alias byKeyValue this is deprecated - Iterate over .byKeyValue instead.
> ../.dub/packages/vibe-d-0.8.5/vibe-d/utils/vibe/utils/dictionarylist.d(77,22): Deprecation: alias byKeyValue this is deprecated - Iterate over .byKeyValue instead.
> ../.dub/packages/vibe-d-0.8.5/vibe-d/utils/vibe/utils/dictionarylist.d(77,22): Deprecation: alias byKeyValue this is deprecated - Iterate over .byKeyValue instead.
> ../.dub/packages/vibe-d-0.8.5/vibe-d/utils/vibe/utils/dictionarylist.d(77,22): Deprecation: alias byKeyValue this is deprecated - Iterate over .byKeyValue instead.
> ../.dub/packages/vibe-d-0.8.5/vibe-d/utils/vibe/utils/dictionarylist.d(77,22): Deprecation: alias byKeyValue this is deprecated - Iterate over .byKeyValue instead.
> ../.dub/packages/vibe-d-0.8.5/vibe-d/utils/vibe/utils/dictionarylist.d(77,22): Deprecation: alias byKeyValue this is deprecated - Iterate over .byKeyValue instead.
> ../.dub/packages/vibe-d-0.8.5/vibe-d/utils/vibe/utils/dictionarylist.d(77,22): Deprecation: alias byKeyValue this is deprecated - Iterate over .byKeyValue instead.
> ../.dub/packages/vibe-d-0.8.5/vibe-d/utils/vibe/utils/dictionarylist.d(77,22): Deprecation: alias byKeyValue this is deprecated - Iterate over .byKeyValue instead.
> ../.dub/packages/vibe-d-0.8.5/vibe-d/utils/vibe/utils/dictionarylist.d(77,22): Deprecation: alias byKeyValue this is deprecated - Iterate over .byKeyValue instead.
> /usr/include/dmd/phobos/std/range/primitives.d(174,38):
> Deprecation: alias byKeyValue this is deprecated - Iterate over
> .byKeyValue instead.
> /usr/include/dmd/phobos/std/range/primitives.d(176,27):
> Deprecation: alias byKeyValue this is deprecated - Iterate over
> .byKeyValue instead.
> /usr/include/dmd/phobos/std/range/primitives.d(174,38):
> Deprecation: alias byKeyValue this is deprecated - Iterate over
> .byKeyValue instead.
> /usr/include/dmd/phobos/std/range/primitives.d(176,27):
> Deprecation: alias byKeyValue this is deprecated - Iterate over
> .byKeyValue instead.
> ../.dub/packages/vibe-d-0.8.5/vibe-d/utils/vibe/utils/dictionarylist.d(77,22): Deprecation: alias byKeyValue this is deprecated - Iterate over .byKeyValue instead.
> ../.dub/packages/vibe-d-0.8.5/vibe-d/utils/vibe/utils/dictionarylist.d(77,22): Deprecation: alias byKeyValue this is deprecated - Iterate over .byKeyValue instead.
> ../.dub/packages/vibe-d-0.8.5/vibe-d/web/vibe/web/rest.d(1847,18): Deprecation: alias byKeyValue this is deprecated - Iterate over .byKeyValue instead.
> ../.dub/packages/vibe-d-0.8.5/vibe-d/web/vibe/web/rest.d(1876,22): Deprecation: alias byKeyValue this is deprecated - Iterate over .byKeyValue instead.
> ../.dub/packages/vibe-d-0.8.5/vibe-d/web/vibe/web/rest.d(1883,22): Deprecation: alias byKeyValue this is deprecated - Iterate over .byKeyValue instead.
> ../.dub/packages/vibe-d-0.8.5/vibe-d/utils/vibe/utils/dictionarylist.d(77,22): Deprecation: alias byKeyValue this is deprecated - Iterate over .byKeyValue instead.
> ../.dub/packages/vibe-d-0.8.5/vibe-d/utils/vibe/utils/dictionarylist.d(77,22): Deprecation: alias byKeyValue this is deprecated - Iterate over .byKeyValue instead.
> ../.dub/packages/vibe-d-0.8.5/vibe-d/utils/vibe/utils/dictionarylist.d(77,22): Deprecation: alias byKeyValue this is deprecated - Iterate over .byKeyValue instead.
> ../.dub/packages/vibe-d-0.8.5/vibe-d/utils/vibe/utils/dictionarylist.d(77,22): Deprecation: alias byKeyValue this is deprecated - Iterate over .byKeyValue instead.
> /usr/include/dmd/phobos/std/range/primitives.d(174,38):
> Deprecation: alias byKeyValue this is deprecated - Iterate over
> .byKeyValue instead.
> /usr/include/dmd/phobos/std/range/primitives.d(176,27):
> Deprecation: alias byKeyValue this is deprecated - Iterate over
> .byKeyValue instead.
> /usr/include/dmd/phobos/std/range/primitives.d(174,38):
> Deprecation: alias byKeyValue this is deprecated - Iterate over
> .byKeyValue instead.
> /usr/include/dmd/phobos/std/range/primitives.d(176,27):
> Deprecation: alias byKeyValue this is deprecated - Iterate over
> .byKeyValue instead.
> ../.dub/packages/vibe-d-0.8.5/vibe-d/utils/vibe/utils/dictionarylist.d(77,22): Deprecation: alias byKeyValue this is deprecated - Iterate over .byKeyValue instead.
> ../.dub/packages/vibe-d-0.8.5/vibe-d/utils/vibe/utils/dictionarylist.d(77,22): Deprecation: alias byKeyValue this is deprecated - Iterate over .byKeyValue instead.
> ../.dub/packages/vibe-d-0.8.5/vibe-d/utils/vibe/utils/dictionarylist.d(77,22): Deprecation: alias byKeyValue this is deprecated - Iterate over .byKeyValue instead.
> ../.dub/packages/vibe-d-0.8.5/vibe-d/utils/vibe/utils/dictionarylist.d(77,22): Deprecation: alias byKeyValue this is deprecated - Iterate over .byKeyValue instead.
> ../.dub/packages/vibe-d-0.8.5/vibe-d/utils/vibe/utils/dictionarylist.d(77,22): Deprecation: alias byKeyValue this is deprecated - Iterate over .byKeyValue instead.
> ../.dub/packages/vibe-d-0.8.5/vibe-d/utils/vibe/utils/dictionarylist.d(77,22): Deprecation: alias byKeyValue this is deprecated - Iterate over .byKeyValue instead.
> /usr/include/dmd/phobos/std/range/primitives.d(174,38):
> Deprecation: alias byKeyValue this is deprecated - Iterate over
> .byKeyValue instead.
> /usr/include/dmd/phobos/std/range/primitives.d(176,27):
> Deprecation: alias byKeyValue this is deprecated - Iterate over
> .byKeyValue instead.
> /usr/include/dmd/phobos/std/range/primitives.d(174,38):
> Deprecation: alias byKeyValue this is deprecated - Iterate over
> .byKeyValue instead.
> /usr/include/dmd/phobos/std/range/primitives.d(176,27):
> Deprecation: alias byKeyValue this is deprecated - Iterate over
> .byKeyValue instead.
> ../.dub/packages/vibe-d-0.8.5/vibe-d/utils/vibe/utils/dictionarylist.d(77,22): Deprecation: alias byKeyValue this is deprecated - Iterate over .byKeyValue instead.
> ../.dub/packages/vibe-d-0.8.5/vibe-d/utils/vibe/utils/dictionarylist.d(77,22): Deprecation: alias byKeyValue this is deprecated - Iterate over .byKeyValue instead.
Exactly what a new users wants to see. Not one or two missed
issues but a boatload.
User first impression: 1/5
This took me less then 10 minutes to find these issues just using
a few of the official examples on the front page. I do not even
dare to touch the others.
Downloads:
As stated in the nim topic:
> 1. sudo wget
> http://master.dl.sourceforge.net/project/d-apt/files/d-apt.list
> -O /etc/apt/sources.list.d/d-apt.list
> 2. sudo apt-get update && sudo apt-get -y
> --allow-unauthenticated install --reinstall d-apt-keyring
> 3. sudo apt-get update && sudo apt-get install dmd-compiler dub
Step 2 does not work because the first " sudo apt-get update" has
no "--allow-unauthenticated install "...
User friendliness: 4/5
User first impression: 0/5
I am sure by just going over the examples and code everywhere,
its easy to find issues but is it the task for any newbie to run
into those?
---------------------------------
Its fun for people to whine why D is looked upon as negative or
why it does not grow like other languages. But people never look
past their own front door, to see how easy it is to scare away
people with things that do not work or give warnings all over the
place.
Call me crazy but this is why i am a long time proponent that
everything http like vibe.d needs to be part of the standard
library like other languages have done ( go, crystal etc ) so
warnings like this do not show up, as the code is kept in sync
with the releases.
And then people complain how they do not want a overly heavy
standard library and rather have new users exposed to things like
this.
Its easier to whine about people being negative then actually
proactive fixing the issues. For 3 years i have been following D.
The deprecation pollution in 3th party packages has been reported
here dozens of times because new D releases keep breaking things
with every one or two versions. The issue with the 3th party
download is also not new.
Learn a lesson from Rust, who when they started out tested each
and every package automatically and reported the issues to the
crate maintainers. This deprecation is just depressing.
But yea, i am "whining". Thanks for the tip fellow community
member, while here i was thinking i am polite in the Nim 1.0
topic to mention the issues that plagued me so the D maintainers
know how easy it is to scare away people.
When i report the 3th party issue ( that lasted how many years!
), the last thing i needed was the next day to see a mail about
how i am a whiner. Or some passive aggressive "your welcome!".
When even Reddit feels like a nice place. *shakes head*... As i
wrote in the Nim 1.0 topic. Get some fracking moderation and code
of conduct.
I'll check back in next year to mark my 4 year of finding out
about D, and wonder how little this community will have actually
changed beyond a few fix me ups. *sigh*...
D, here are several issues to solve ... Your welcome to fix them!
See you next year for the next "whining".
More information about the Digitalmars-d
mailing list