Confession Of A C/C++ Programmer

That's like using unsafe everywhere on rust code and then complaining that stuff breaks.

unsafe is perfectly stable, so it's not like that at all.

for 16% of users, it's a massive number.

Is it a massive number? I would rather be part of a language community that embraces fixing problems rather than ignoring them. The Rule of Three (or Five) should generate a hard error in C++ if it is not followed. That's a soundness hole, one that I've personally encountered in C++. I believe that C++11 should have been a breaking change for Rule of Three followers, because not accounting for the Rule of Five is a mistake. Not following either set of rules while still overriding one of the methods in question is a recipe for disaster that should absolutely be a compiler error. Again, with Rust, it was super easy to fix breakage. The user could have continued using whatever stable version of the compiler that their code worked with, just like users of trigraphs could continue using a prior C++ implementation.

Rust is being used in production code, and the kind of breakage that we're discussing is not significant, and it has been happening less and less as time goes on. I doubt I can ever convince you of these things, so I'm going to stop trying now. It's clear to me that you haven't used Rust, based on your comment about unsafe, and I would encourage you to play with it. Maybe it hasn't reached the stability levels of five 9's that you need, but learning other languages give you some ideas you can apply to programming in C++, to make your code better than before.

/r/cpp Thread Parent Link - robert.ocallahan.org