But you could write a C++ class with a manual .copy() method and a deleted copy constructor (and other conversion constructors not implemented).
Doing that seems a bit easier than integrating a whole new language into your project (although I know Rust would have other benefits).