www.digitalmars.com         C & C++   DMDScript  

digitalmars.D - Issues ... Edition 87

reply Benjiro <benjiro benjiro.com> writes:
Going on the back of the Nim topic that has gone off-topic.

Code Example:


 /+ 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".
Sep 29 2019
next sibling parent reply JN <666total wp.pl> writes:
On Sunday, 29 September 2019 at 11:23:04 UTC, Benjiro wrote:
 No mention this needs to be run with dub, instead of dmd. 
 Confusing as the other examples are dmd based.
You can save it as an executable file on Linux and it will run with dub.
 Exactly what a new users wants to see. Not one or two missed 
 issues but a boatload.
Yeah, this looks a bit awkward. Perhaps only first occurence of deprecation issues should be showing up.
 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.
vibe.d is a bit too high level for something that would be a part of stdlib. We have std.net.curl for bit of the low level stuff. I don't think anything higher level should be part of the standard needed.
 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*...
You're acting a bit spoiled. Outside of donations, there aren't any people working on D full-time, so no one owes you anything. Languages like Rust have people employed by Mozilla who work full-time on it. Paying people is a way to "force" people to work on the hard problems that no one would like to touch otherwise. Without it, people will work on the stuff they need and the itches they need to scratch.
Sep 29 2019
parent nkm1 <t4nk074 openmailbox.org> writes:
On Sunday, 29 September 2019 at 11:37:16 UTC, JN wrote:
 On Sunday, 29 September 2019 at 11:23:04 UTC, Benjiro wrote:
What a whily post LOL...
Sep 29 2019
prev sibling next sibling parent dayllenger <dayllenger protonmail.com> writes:
On Sunday, 29 September 2019 at 11:23:04 UTC, Benjiro wrote:
 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 "...
https://github.com/dlang/dlang.org/pull/2705
Sep 29 2019
prev sibling parent reply Carsten Schlote <carsten.schlote gmx.net> writes:
Or even simpler code like this:

  import std.json, std.stdio;
  void main()
  {
      JSONType c;
      writefln("%s", c);
  }

This triggers lots of completely useless deprecation warnings. 
Obviously the code above is completely fine, and there is nothing 
(!) I could do to stop the compiler from emitting the completely 
useless messages.

I try to use D at work, and convince my collegues of it. I 
started with some small scripts in our CI pipelines, as well as 
with some other small tools. Maybe we could rid of C++/Qt, Bash, 
PHP, Python and other evil things in our build chain. D could do 
it perfectly fine. but...

It isn't expecially helpful for convincing people of the D 
language, if every update of the compilers is causing cryptic 
problems or piles of useless messages. IMHO that is worse than 
using C++, which is well known for emitting useless messages all 
and everywhere.

I hope that such stuff is fixed ASAP, before I run out of good 
arguments for using D.

Carsten
Oct 10 2019
parent reply FeepingCreature <feepingcreature gmail.com> writes:
On Thursday, 10 October 2019 at 11:15:20 UTC, Carsten Schlote 
wrote:
 Or even simpler code like this:

  import std.json, std.stdio;
  void main()
  {
      JSONType c;
      writefln("%s", c);
  }

 This triggers lots of completely useless deprecation warnings. 
 Obviously the code above is completely fine, and there is 
 nothing (!) I could do to stop the compiler from emitting the 
 completely useless messages.
This is a known issue with deprecated enum members and the EnumMembers template. There's a discussion about it ongoing on the frontpage of this very forum, but the problem is there's no clean way to fix it without changing the semantics of the language. It's an unfortunate interaction between language features that was hidden by a bug that was recently fixed.
Oct 10 2019
parent reply Carsten Schlote <carsten.schlote gmx.net> writes:
On Thursday, 10 October 2019 at 13:35:58 UTC, FeepingCreature 
wrote:
 This is a known issue with deprecated enum members and the 
 EnumMembers template. There's a discussion about it ongoing on 
 the frontpage of this very forum, but the problem is there's no 
 clean way to fix it without changing the semantics of the 
 language. It's an unfortunate interaction between language 
 features that was hidden by a bug that was recently fixed.
This "unfortunate interaction" is bad. It looks broken. Who want's to learn and use a language, which seems to be broken by unintended interactions of language features? Wouldn't it be much better to 'solve' the issue first, and then use deprecate on enum members without side-effects? Carsten
Oct 10 2019
parent reply FeepingCreature <feepingcreature gmail.com> writes:
On Thursday, 10 October 2019 at 13:45:10 UTC, Carsten Schlote 
wrote:
 Wouldn't it be much better to 'solve' the issue first, and then 
 use  deprecate on enum members without side-effects?

 Carsten
If we could solve every issue "first", we wouldn't have any bugs. :) When the enum members were deprecated, we had no idea the issue existed. If you want to undeprecate these members because they break EnumMembers, well, https://github.com/dlang/phobos , PR welcome.
Oct 10 2019
parent Carsten Schlote <carsten.schlote gmx.net> writes:
On Friday, 11 October 2019 at 05:01:24 UTC, FeepingCreature wrote:
 If you want to undeprecate these members because they break 
 EnumMembers, well, https://github.com/dlang/phobos , PR welcome.
Changed, tested, and seems to silence the deprecation messages for now. I just commented out the deprecatedion keywords and added a FIXME comment above to remind us to fix that issue asap. The deprecation on the type JSON_TYPE isn't removed. So any use of the old type name, should still cause a deprecation message. I presume, that the use of JSON_TYPE also implies use of the old member names. Therefore it is maybe enough to deprecate just the type alias and add some extra hint to the deprecation message to change the enum member names as well. Carsten
Oct 10 2019