On Thursday, 18 October 2018 at 20:59:59 UTC, Erik van Velzen wrote:

Let me start by saying I'm willing to admit that I was factually wrong.

Also keep in mind that "me having an impression" is something that is can't be independently verified and you'll have to take my at my word. Just that the exact reason for that impression was lost to the sands of time.

Quite a simple reason: it was years ago, however old you are now you were younger and less experienced, and probably didn't understand something back then.

Your impression was wrong. Open e.g. TDPL and read up on `shared` how it was envisioned back then.

I don't think the book really supports your argument. The first paragraph about shared sound to me like "the compiler will automagically fix it".

Then I don't know what to tell you. It literally talks about compiler forbidding unsafe operations and *requiring* you to go the extra mile, by just rejecting invalid code (something that Manu is proposing to forego!). But that's *code*, not logic.

Only tangentially it is mentioned that you're actually supposed to write special code yourself. You would have to be a compiler expert to draw the correct conclusion.

Tangetially?! There's a whole section on writing `shared`-aware code (none of which would even compile today, I don't know if it's addressed in his errata).

Also the last paragraph the quote below is interesting in light of our other discussion about casting to shared.

From  the book:

[snip]

Yeah, some of that never happened and never will. But that aside, none of it says "threading will be safe by default". It says "threading will be a lot less unsafe by default". And *that* is what we must achieve.

Reply via email to