-
Notifications
You must be signed in to change notification settings - Fork 1
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
Use Cow to make this fully Iterator compliant #4
Comments
using this would give users cheap immutable references to the original data and clones if they use multiple windows. maybe a custom Cow like smartpointer or a wrapper is needed. One which can be turned into a Clone as soon as two of them exist simultaneously |
the window smartpointer needs either a negative send bound or some sort of synchronization |
what should be done if mutation happens while another, overlapping window is still reachable? |
it's not possible to clone the older window as soon as another one gets spawned by next(), because window derefs to (maybe multiple) references, which cannot be changed. Instead one could create another storage vec and store the new and following windows there. But that's a performance nightmare.. |
Derefs are gone with v3.0, maybe it's possible now |
Just leaving this here as a note to myself.
The text was updated successfully, but these errors were encountered: