Re:Copying data is wasteful, mutating data is dangerous
by nwallin on Thursday January 09, 2020 @03:49PM
(#22005534)
Rust can throw away constness in unsafe blocks, which carries the same caveat emptor that const_cast carries.
Re:Copying data is wasteful, mutating data is dangerous
by steveklabnik on Thursday January 09, 2020 @04:42PM
(#22006190)
Only in certain circumstances, though.
Re:Copying data is wasteful, mutating data is dangerous
by gdxhyrd on Thursday January 09, 2020 @02:07PM
(#22004350)
Casting away constness in C++ is something it is virtually never done, and has to be done very explicitly.
Re:Copying data is wasteful, mutating data is dangerous
by masklinn on Thursday January 09, 2020 @03:02PM
(#22005025)
> https://github.com/search?q=const_cast&type=Code
We must have very different notions of "virtually never": https://github.com/search?q=const_cast&type=Code
> has to be done very explicitly.
That doesn't make it visible to the caller.
1. C and C++ allow casting away constness, which may or may not be UB depending how the parameter is defined
2. Swift also provides this ability to an extent: struct parameters have to be flagged `inout` to be mutable
I'm sure there are others.