noncopyability
Noncopyability is a property of a type or value that cannot be duplicated through a copy operation. It is often by design to enforce unique ownership of a resource, to avoid expensive or unsafe copies, or to express transfer of ownership rather than duplication.
In languages like C++, noncopyability is typically implemented by deleting or making private the copy constructor
In Rust, noncopyability is expressed by not implementing the Copy trait. Types without Copy are moved on
In other languages, noncopyability is often achieved through API design rather than language rules. Objects may
Noncopyability can simplify resource safety and correctness but may complicate API use and testing, requiring callers