-
-
Notifications
You must be signed in to change notification settings - Fork 648
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
flvector?
and fxvector?
are missing equal-always?
support
#4983
Comments
On top of this: extflonum vectors (I think) and stencil vectors. |
I think this is because it's falling back on Chez Scheme's flvector and fxvector equality. Perhaps it shouldn't fall back on that when the mode is |
I started a branch to work on this here: I'll want to add tests before I make it a full PR though. |
I've made a PR here: |
Extflvectors are supported only on x86/x86_64 BC. |
What version of Racket are you using?
8.12 [cs]
What program did you run?
And the same thing for fxvectors:
What should have happened?
Generally, for types that are defined with attention to
equal-always?
support, the result ofequal-always?
doesn't vary when a value is mutated. Since flvectors and fxvectors are mutable, they should only beequal-always?
if they'reeq?
, similarly to mutable strings or vectors.Alternatively, some mutation operations could be considered to be part of an unsafe API, like
unsafe-set-immutable-car!
. If that's whatflvector-set!
andfxvector-set!
are considered to be, the present behavior may be correct. But that's not the impression I get from the documentation; I think these were simply types whose equality behavior was overlooked whenequal-always?
was introduced.The text was updated successfully, but these errors were encountered: