From Where to self-service: Object safety review :
Tracking an object is safe only if the compiler can automatically implement it for itself, implementing each method as a call to a dynamic function through a virtual table stored in the attribute object.
Without object security rules, you can write functions with type signatures that are satisfied by feature objects, where the internals make it impossible to actually use with feature objects.
I believe that the choice of the phrase “object security” may be unsuccessful in retrospect, because it seems to have nothing to do with memory security, the usual use of the term “(un)“ safe ”in Rust.
Objective "ability" may be closer to the truth; feature that can be transmitted through the feature object.
source share