-
Notifications
You must be signed in to change notification settings - Fork 649
Dictionary integrity protection #3032
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: master
Are you sure you want to change the base?
Dictionary integrity protection #3032
Conversation
This one is debatable. It follows modern C++.
This one prohibits annoying casts. It is also important for future context injection and follows STL practice.
Returning const object does not prevent from using mutable by triggering copy constructor.
This one is more stylistic but is consistent with practice of using pre- operations for iterators.
This is a small compilation time optimization by reducing total number of generated types. Should not change runtime behavior.
af99ed5 to
89a0410
Compare
89a0410 to
1d56220
Compare
|
Can someone help me with changes in the bindings generator? |
You can take a look into generated code here: |
|
This refactor introduced very large change and potential perf overhead (such as assert on bucket state and function call). Thus I have 2 ideas that maybe could solve this problem but with different approache: I think more important would be addition of What do you think? |
|
I like the idea a lot. I will try it. |
Currently
Dictionaryuses buckets to expose data. This means that the key can be changed, potentially ruining the state of the collection.This is an API breaking change.
HashSetis to be revised in the future.