Under the hood, this pull request fixes how properties are implemented. Consider the following code, that contain assignment of one property to another:
This assignment is embarassing, because it doesn't do what it's supposed to do. So, the current implementation of the properties is slightly different from the C++ Builder semantics. We need to disable copy / move constructors - we don't want properties to be copied / moved. We also need to disable copy / move operators on RO properties, and disable move operator on RW properties. We should use explicit copy operator for RW properties with correct semantics, i.e. copy values instead of copying setters and getters.
This pull request fixes this issue
Under the hood, this pull request fixes how properties are implemented. Consider the following code, that contain assignment of one property to another:
This assignment is embarassing, because it doesn't do what it's supposed to do. So, the current implementation of the properties is slightly different from the C++ Builder semantics. We need to disable copy / move constructors - we don't want properties to be copied / moved. We also need to disable copy / move operators on RO properties, and disable move operator on RW properties. We should use explicit copy operator for RW properties with correct semantics, i.e. copy values instead of copying setters and getters.