-
Notifications
You must be signed in to change notification settings - Fork 185
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
Decide what to do about impl ULE for ()
#6219
Comments
My opinion is that if we had not done this, I would have been happier, but I don't really wish to go through a deprecation cycle or do breaking changes because of this. I think what I would want instead is an EmptyULE type that ULE's to itself with clearly documented ULE behavior. If we make that change at zerovec 1.0 that seems fine. |
My opinion is that Likewise, I went through multiple phases of adding I don't have a strong opinion on whether |
If we want such a placeholder, we should make an explicit one. A cost I am applying here is that ZSTs are weird in unsafe code, because their pointer/array behavior is markedly different from everything else, and this is a crate that is 99% pointer/array things. Unsafe code in crates like this tends to often be written with the implicit assumption that ZSTs aren't being passed through. I've confirmed that's not the case here, but I'm not our users. All together, Doubly so because the use case here isn't even for the ULE universe, it's for the VarULE universe;
I still don't really see a use case for the unit type in the pure-ULE (ZeroVec) universe. I suspect there are similar sentinel use cases though. My preference is adding such a placeholder when we actually need one. |
Originally posted by @Manishearth in #6133 (comment)
The text was updated successfully, but these errors were encountered: