1. 35

  2. 6
    1. 4

      The D language added something similar to this too a while ago (~2ish years iirc), still under experimental preview status though as there’s quite a bit of controversy about it. There’s people who just complain they don’t know what is happening glancing at a function (these same people also hate that D’s classes are Java-style references whereas structs are C-style values), and there’s angst over aliasing values. Something like if you pass an object and a piece of the object to the same function, you can get surprising results. I’m obviously not terribly educated on this lol, but while it all look good to me, the hesitation out of these other D people who are generally pretty well informed gives me pause that there might actually be a problem there.

      Or perhaps it is all good and the D people are just overly cautious. Of course, could also be that the further restrictions Carbon puts on solves these problems. But I’d love to see if it is actually a success in practice or not… either way might be evidence to convince D to either promote it from experimental or go ahead and cancel the plan.